一种代理转发方法和装置、代理服务器和多级代理网络与流程

文档序号:14491574阅读:286来源:国知局
一种代理转发方法和装置、代理服务器和多级代理网络与流程

本发明实施例涉及网络通信技术领域,例如涉及一种代理转发方法和装置、代理服务器和多级代理网络。



背景技术:

用户在使用网络应用时,一般是通过安装在用户终端上的应用客户端向源站服务器发送数据访问请求报文以获取相应的内容,比如视频应用可以通过电脑向源站服务器发送数据访问请求报文以获取相应的视频内容并播放。在应用加速网络(applicationdeliverynetwork,adn)中,很多的应用都是基于用户数据报协议(userdatagramprotocol,udp)的。其网络结构通常通过udp代理服务器进行客户端和源站服务器的交互,udp代理服务器负责把客户端发来的请求转发给源站服务器,并把源站服务器的回应返回给客户端。

在研究现有技术的过程中,发明人发现相关技术中至少存在如下问题:目前的adn网络中,基于udp的应用网络中只有一级udp代理服务器,由udp代理服务器通过底层路由器将数据报文发送到源站服务器,无法通过选路方法选择优选路径,数据传输效率较差。



技术实现要素:

本发明实施例的一个目的是提供一种代理转发方法和装置、代理服务器和多级代理网络,能通过选路方法选择优选路径,数据传输效率高。

第一方面,本发明实施例提供了一种代理转发方法,所述转发方法应用于代理服务器,所述代理服务器与其他至少两个代理服务器通信连接,所述代理服务器作为入口代理服务器,所述方法包括:

接收客户端发送的请求报文;

获取所述请求报文的通信路径信息,并将所述请求报文的自下下跳开始的剩余路径信息加入所述请求报文的报文头部;

将所述请求报文发送给下一跳的代理服务器。

第二方面,本发明实施例还提供了一种代理转发方法,所述转发方法应用于代理服务器,所述代理服务器与其他至少两个代理服务器通信连接,所述代理服务器作为通用代理服务器,所述方法包括:

接收其他代理服务器发送的所述请求报文;

解析所述请求报文,获得所述请求报文的自下一跳开始的剩余路径信息;

如果下一跳不是源站服务器,将所述请求报文发送给下一跳的代理服务器,否则,解析所述请求报文获得源数据,并将所述源数据发送到源站服务器。

第三方面,本发明实施例还提供了一种代理转发装置,所述转发装置应用于代理服务器,所述代理服务器与其他至少两个代理服务器通信连接,所述代理服务器作为入口代理服务器,所述装置包括:

接收模块,用于接收客户端发送的请求报文;

路径获取及报文修改模块,用于获取所述请求报文的通信路径信息,并将所述请求报文的自下下跳开始的剩余路径信息加入所述请求报文的报文头部;

发送模块,用于将所述请求报文发送给下一跳的代理服务器。

第四方面,本发明实施例还提供了一种代理转发装置,所述转发装置应用于代理服务器,所述代理服务器与其他至少两个代理服务器通信连接,所述代理服务器作为通用代理服务器,所述装置包括:

报文接收模块,用于接收其他代理服务器发送的所述请求报文;

路径获取模块,用于解析所述请求报文,获得所述请求报文的自下一跳开始的剩余路径信息;

报文发送模块,用于如果下一跳不是源站服务器,将所述请求报文发送给下一跳的代理服务器,否则,解析所述请求报文获得源数据,并将所述源数据发送到源站服务器。

第五方面,本发明实施例还提供了一种代理服务器,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。

第六方面,本发明实施例还提供了一种多级代理网络,所述网络包括至少三个如上所述的代理服务器,至少三个所述代理服务器彼此通信连接;

其中一个所述代理服务器用于作为入口代理服务器与客户端通信连接,另一个所述代理服务器用于作为出口代理服务器与源站服务器通信连接,其他代理服务器作为中间代理服务器,用于在所述入口代理服务器和所述出口代理服务器之间转发报文。

本发明实施例提供的代理转发方法和装置、代理服务器和多级代理网络,通过将优选的通信路径信息加入数据报文的报文头部,使各代理服务器按照该优选的通信路径进行数据的转发。通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明方法和装置的应用场景示意图;

图2是本发明入口代理服务器侧代理转发方法的一个实施例的流程图;

图3是本发明入口代理服务器侧代理转发方法的一个实施例的流程图;

图4是本发明实施例中代理服务器间通信架构示意图;

图5是本发明实施例中会话表数据结构示意图;

图6a是本发明实施例中grp格式示意图;

图6b是本发明实施例中grp格式数据部分示意图;

图6c是本发明实施例中grp格式数据部分每个地址单元的格式示意图;

图7是本发明通用代理服务器侧代理转发方法的一个实施例的流程图;

图8是本发明通用代理服务器侧代理转发方法的一个实施例的流程图;

图9是本发明实施例中报文在入口代理服务器和通用代理服务器之间交互的流程示意图;

图10是本发明实施例中已经建立会话时报文在入口代理服务器和通用代理服务器之间交互的流程示意图;

图11是本发明入口代理服务器侧代理转发装置的一个实施例的结构示意图;

图12是本发明入口代理服务器侧代理转发装置的一个实施例的结构示意图;

图13是本发明通用代理服务器侧代理转发装置的一个实施例的结构示意图;

图14是本发明通用代理服务器侧代理转发装置的一个实施例的结构示意图;

图15是本发明实施例提供的代理服务器的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的代理转发方法和装置适用于图1所示的应用场景,包括至少三个代理服务器20,至少三个代理服务器20彼此通信连接,至少三个代理服务器20中的任意一个代理服务器20与控制器10通信连接。至少三个代理服务器20中,与客户端通信连接的称为入口代理服务器,与源站服务器通信连接的称为出口代理服务器。其他代理服务器20作为中间代理服务器,负责在入口代理服务器和出口代理服务器之间转发数据报文。其中,针对不同的数据传输任务,每个代理服务器20都可能作为入口代理服务器、中间代理服务器和出口代理服务器中的任何一个角色。

代理服务器20作为中间代理服务器和出口代理服务器,与作为入口代理服务器所执行的方法不同,但中间代理服务器和出口代理服务器执行的方法基本相同,因此可以将中间代理服务器和出口代理服务器称为通用代理服务器。

控制器10用于对数据包在各代理服务器20间的传输路径进行管理,控制器10可以预先获得通信路径,并将所述通信路径发送给对应的入口代理服务器。入口代理服务器根据所述通信路径将数据报文通过中间代理服务器和出口代理服务器发送到源站服务器。具体的,入口代理服务器将通信路径信息加入到数据报文的报文头部,然后将该数据报文发送到下一跳代理服务器。下一跳代理服务器解析该数据报文获得所述通信路径,并将该数据报文发送到下一跳代理服务器,依次类推,最后将数据报文发送到源站服务器。

其中,各代理服务器间可以基于udp进行数据传输,即所述数据报文为基于udp的报文。

本发明实施例提供的代理转发方法,可由图1中所示的任一代理服务器20执行,如图2所示,为所述代理转发方法的一个实施例的流程图,在所述代理服务器作为入口代理服务器时,所述代理转发方法包括:

101:接收客户端发送的请求报文。

102:获取所述请求报文的通信路径信息,并将所述请求报文的自下下跳开始的剩余路径信息加入所述请求报文的报文头部。

控制器10会预先通过例如选路算法获得通过该入口代理服务器到源站服务器的优选路径,然后将该优选路径的通信路径信息发送给对应的入口代理服务器。根据该通信路径信息,可以获得例如下一跳代理服务器的地址信息和端口信息,以及剩余跳代理服务器的地址信息和端口信息等。具体的,入口代理服务器获取下一跳的代理服务器的地址信息和端口信息,以及剩余跳的代理服务器的地址信息和端口信息,并顺序将剩余跳的代理服务器的地址信息和端口信息,以及源站服务器的地址信息和端口信息加入所述请求报文的报文头部。

其中,地址信息例如ip(网络之间互连的协议,internetprotocol)地址,端口信息例如端口号。

103:将所述请求报文发送给下一跳的代理服务器。

本发明实施例通过将优选的通信路径信息加入数据报文的报文头部,使各代理服务器按照该优选的通信路径进行数据的转发。通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

可选的,请参照图3,在所述代理转发方法的其他实施例中,所述方法除了201、202和207(201、202和207的详细内容请分别参照101、102和103)之外还包括:

203:建立会话表,生成所述会话表的查询键值,所述查询键值用于查询所述会话表中的内容。

204:生成用户标识,并将所述用户标识加入到所述会话表中,所述用户标识用于标记所述客户端。

其中,会话表的查询键值例如哈希键值,具体的,用户标识和查询键值可以通过对客户端ip地址和端口号、入口代理服务器的监听ip地址和端口号调用哈希函数获得,客户端ip地址和端口号可以通过系统接口recvmsg函数获得。

205:将所述请求报文通过所述入口代理服务器的通信路径信息加入到所述会话表中。

两个代理服务器间通信的架构请参照图4(该图两个代理服务器间省略了中间代理服务器),图4中sk代表前端套接字,负责与客户端通信,sk1、sk2和sk3代表后端套接字,负责与下一跳代理服务器通信,sk’代表前端套接字,负责与上一跳代理服务器通信,sk1’、sk2’和sk3’代表后端套接字,负责与下一跳代理服务器或者源站服务器通信。

具体的,所述将所述请求报文通过所述入口代理服务器的通信路径信息加入到所述会话表中,包括:

建立入口代理服务器的前端套接字和后端套接字,为后端套接字绑定ip地址和端口号。将客户端ip地址和端口号,入口代理服务器的监听ip地址、端口号、前端套接字,后端套接字及其对应的ip地址和端口号,下一跳代理服务器的ip地址和端口号,剩余跳代理服务器的ip地址和端口号加入到所述会话表中。

该会话表的具体结构可以采用如图5所示的数据结构,其中,prevhop代表上一跳,udpproxy代表当前代理服务器,proxy-fe代表当前代理服务器的前端,proxy-be代表当前代理服务器的后端,nexthop代表下一跳,sess_id代表用户标识。c_ip1和c_port1分别表示上一跳代理服务器的ip地址和端口号,在本实施例中,即为客户端的ip地址和端口号。ls_ip、ls_port和sk表示当前代理服务器的ip地址、端口号和前端套接字,在本实施例中即为入口代理服务器的ip地址、端口号和前端套接字。sk1、s_ip和s_port表示当前代理服务器的后端套接字及所述后端套接字对应的ip地址和端口号,d_ip和d_port表示下一跳代理服务器的ip地址和端口号,省略号省略了其他剩余跳的代理服务器的ip地址和端口号。

可选的,还可以为会话表设置expire时间,可以通过配置文件为其赋值,当到达其设定的时间后,会话会被关闭。

206:将所述用户标识加入所述请求报文的报文头部。

将上述通信路径信息和用户标识加入请求报文的报文头部之前,可以先将上述通信路径信息和用户标识基于全局路径协议(globalroutingprotocol,grp)进行封装,grp基于二进制流,对通信路径信息进行grp封装,能有效缩短udp数据段长度,提高网络带宽的使用率。

图6a示出了grp格式,grp格式包括头部+数据,头部部分包括严格定义的8字节版本号(version)、2字节信息类型(msgtype)、2字节数据流长度(datalen)和两个4字节保留段(reserve1和reserve2),数据部分包括字节可变的数据流(datastream)。其中,用户标识可以放置于grp格式头部的保留段(reserve1段或者reserve2段),路径信息可以放置于数据部分。

数据部分的具体格式请参照图6b,包括多个地址单元,每个地址单元可以用于放置一个代理服务器的地址信息。每个地址单元的具体格式请参照图6c,包括4位角色、4位协议族、1字节权重、2字节端口号和4-16字节的ip地址。其中,2字节端口号和4-16字节的ip地址分别用于放置代理服务器的端口号和ip地址。

将用户标识加入请求报文的报文头部,是为了下一跳代理服务器接收到该请求报文时,可以通过解析该请求报文获得用户标识,并根据该用户标识建立会话表的查询键值。因为该用户标识根据客户端的地址信息和端口信息等获得,因此根据该用户标识建立的查询键值,可以唯一确定该客户端的通信路径。

需要说明的是,本发明实施例中的序号只是为了便于理解,并不限定各步骤的先后顺序。

本发明实施例通过建立会话表,可以记录报文传输的路径,下一次接收到已建立会话的报文时,可以直接通过该会话表中记录的路径进行数据的转发。

可选的,在所述代理转发方法的其他实施例中,所述方法还包括:

如果接收到已经建立会话的客户端的报文时,获取所述已建立会话的客户端的地址信息和端口信息。

根据所述已建立会话的客户端的地址信息和端口信息、入口代理服务器的监听地址信息和端口信息建立查询键值,进行会话查询。

将所述用户标识加入所述报文头部,并根据会话查询到的路径将所述报文发送到下一跳代理服务器。

当入口代理服务器接收到已建立会话的客户端发送的报文时,通过recvmsg函数获取客户端的ip地址与端口号,以及入口代理服务器的监听ip地址与端口号,并建立查询键值,进行会话查询。找到入口代理服务器中与下一跳代理服务器通信的后端套接字,在报文中加入用户标识之后将报文通过该后端套接字转发到下一跳代理服务器。因为会话表建立时的查询键值根据客户端的地址信息和端口信息、入口代理服务器的监听地址信息和端口信息确定,因此根据该查询键值可以唯一的确定之前该客户端建立的会话路径。

将所述用户标识加入所述报文头部,是为了下一跳代理服务器可以通过解析该报文获得用户标识,并根据该用户标识建立查询键值进行会话查询,以获得已经建立的通信路径。

可选的,在所述代理转发方法的其他实施例中,所述方法还包括:

如果向下一跳代理服务器发送报文失败时,将所述报文发送给下下跳代理服务器。

在入口代理服务器向下一跳代理服务器发送报文失败时,会向下一跳的下一跳代理服务器进行报文发送,而接收到的代理服务器会解析报文获得用户标识,并根据该用户标识建立查询键值,进行会话查询,查询到该客户端已建立的通信路径,从而保持会话一致。其中,由于下一跳代理服务器的ip地址和端口号与当前代理服务器的ip地址和端口是绑定的,当下一跳代理服务器的端口关闭导致报文发送失败时,下一跳代理服务器会向当前代理服务器发送消息,以告知远端不可达,当前代理服务器就能获知报文是否发送失败。

相应的,本发明实施例还提供了一种代理转发方法,可由图1中所示的任一代理服务器20执行,如图7所示,为所述代理转发方法的一个实施例的流程图,在所述代理服务器作为通用代理服务器时,所述方法包括:

301:接收其他代理服务器发送的所述请求报文。

302:解析所述请求报文,获得所述请求报文的自下一跳开始的剩余路径信息。

其中,自下一跳开始的剩余路径信息,例如下一跳的代理服务器的地址信息和端口信息,以及剩余跳的代理服务器的地址信息和端口信息。

303:如果下一跳不是源站服务器,将所述请求报文发送给下一跳的代理服务器,否则,解析所述请求报文获得源数据,并将所述源数据发送到源站服务器。

在代理服务器的下一跳为源站服务器时,直接从报文中提取源数据并将源数据发送给源站服务器,否则,将报文发送给下一跳的代理服务器。

本发明实施例通过解析报文获得优选的通信路径,并按照该优选的通信路径进行数据的转发。通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

可选的,请参照图8,在所述代理转发方法的其他实施例中,所述方法除了401、402和407(401、402和407的详细内容请分别参照301、302和303)之外还包括:

403:解析所述请求报文,获得用户标识;

404:建立当前代理服务器的会话表,根据所述用户标识生成所述当前代理服务器的会话表的查询键值;

405:将所述用户标识加入到所述会话表中;

406:将所述请求报文通过当前代理服务器的通信路径信息加入到所述会话表中。

具体的,所述将所述请求报文通过当前代理服务器的通信路径信息加入到所述会话表中,包括:

建立当前代理服务器的前端套接字和后端套接字,为后端套接字绑定ip地址和端口号。将上一跳代理服务器的ip地址和端口号,当前代理服务器的监听地址信息、端口信息、前端套接字,后端套接字及其对应的ip地址和端口号,下一跳代理服务器的ip地址和端口号,剩余跳的代理服务器的ip地址和端口号加入到所述会话表中。该会话表的具体结构可以采用如图5所示的数据结构。

需要说明的是,本发明实施例中的序号只是为了便于理解,并不限定各步骤的先后顺序。

本发明的一个实施例中,请求报文在入口代理服务器和通用代理服务器之间交互的流程请参照图9。入口代理服务器接收到客户端发送的请求报文,根据客户端ip地址和端口号、入口代理服务器的监听ip地址和端口号建立会话表的查询键值和用户标识,将用户标识和通信路径信息加入到会话表中,将通信路径信息和用户标识加入请求报文并发送给下一跳代理服务器。通用代理服务器接收入口代理服务器或者其他通用代理服务器发送的请求报文,并对该请求报文进行解析获得通信路径信息和用户标识,根据该用户标识建立自身会话表的查询键值,将用户标识和通信路径信息加入到自身的会话表中。然后将请求报文向下一跳发送。如上,在各代理服务器间建了了该客户端的会话连接。

可选的,在所述代理转发方法的其他实施例中,所述方法还包括:

如果接收到已经建立会话的代理服务器发送的报文时,解析所述报文获得所述用户标识;

根据所述用户标识建立查询键值,进行会话查询,并根据会话查询到的路径将所述报文发送到下一跳代理服务器。

当通用代理服务器接收到已经建立会话的其他代理服务器发送的报文时,通过解析报文获取用户标识,并根据该用户标识建立查询键值进行会话查询。找到当前代理服务器中与下一跳代理服务器通信的后端套接字,通过该后端套接字将报文转发到下一跳的代理服务器。

本发明的一个实施例中,如果客户端已经在各代理服务器间建立会话,则报文在入口代理服务器和通用代理服务器之间交互的流程请参照图10。入口代理服务器接收到已经建立会话的客户端发送的报文,获取所述已建立会话的客户端的地址信息和端口信息等建立查询键值,进行会话查询,将用户标识加入到报文头部,并将报文根据查询到的路径发送到下一跳的代理服务器。通用代理服务器接收入口代理服务器或者其他通用代理服务器发送的报文,并对该报文进行解析获得用户标识,根据该用户标识建立查询键值,进行会话查询,并根据会话查询到的路径将所述报文发送到下一跳代理服务器。

可选的,在所述代理转发方法的其他实施例中,所述方法还包括:

如果向下一跳代理服务器发送报文失败时,将所述报文发送给下下跳代理服务器。

在通用代理服务器向下一跳代理服务器发送报文失败时,会选择下一跳的下一跳进行报文发送,而接收到的通用代理服务器会解析报文获得用户标识,并根据该用户标识建立查询键值,进行会话查询,查询到该客户端已建立的通信路径,从而保持会话一致,同时保证链路故障容错性。

相应的,本发明实施例还提供了一种代理转发装置,所述转发装置设置于图1所示的任一代理服务器20内,所述代理服务器作为入口代理服务器,如图11所示,所述装置500包括:

接收模块501,用于接收客户端发送的请求报文;

路径获取及报文修改模块502,用于获取所述请求报文的通信路径信息,并将所述请求报文的自下下跳开始的剩余路径信息加入所述请求报文的报文头部;

发送模块503,用于将所述请求报文发送给下一跳的代理服务器。

本发明实施例通过将优选的通信路径信息加入数据报文的报文头部,使各代理服务器按照该优选的通信路径进行数据的转发。通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

可选的,在所述装置的其他实施例中,请参照图12,所述装置500还包括:

会话表建立模块504,用于:

建立会话表,生成所述会话表的查询键值,所述查询键值用于查询所述会话表中的内容;

生成用户标识,并将所述用户标识加入到所述会话表中,所述用户标识用于标记所述客户端;

将所述请求报文通过所述入口代理服务器的通信路径信息加入到所述会话表中。

标识加入模块505,用于将所述用户标识加入所述请求报文的报文头部。

可选的,在所述装置的其他实施例中,请参照图12,所述装置500还包括:

第二发送模块506,用于如果向下一跳代理服务器发送报文失败时,将所述报文发送给下下跳代理服务器。

可选的,在所述装置的其他实施例中,所述路径获取及报文修改模块502具体用于:

获取下一跳的代理服务器的地址信息和端口信息,以及剩余跳的代理服务器的地址信息和端口信息;

顺序将剩余跳的代理服务器的地址信息和端口信息,以及源站服务器的地址信息和端口信息加入所述请求报文的报文头部。

可选的,在所述装置的其他实施例中,所述用户标识和所述查询键值均根据客户端地址信息和端口信息、入口代理服务器的监听地址信息和端口信息获得。

可选的,在所述装置的其他实施例中,请参照图12,所述装置500还包括:

会话查询及报文转发模块507,用于:

如果接收到已经建立会话的客户端的报文时,获取所述已建立会话的客户端的地址信息和端口信息;

根据所述已建立会话的客户端的地址信息和端口信息、入口代理服务器的监听地址信息和端口信息建立查询键值,进行会话查询;

将所述用户标识加入所述报文头部,并根据会话查询到的路径将所述报文发送到下一跳代理服务器。

需要说明的是,上述代理转发装置可执行本发明实施例所提供的代理转发方法,具备执行方法相应的功能模块和有益效果。未在代理转发装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的代理转发方法。

相应的,本发明实施例还提供了一种代理转发装置,所述转发装置设置于图1所示的任一代理服务器20内,所述代理服务器用于通用代理服务器,如图13所示,所述装置600包括:

报文接收模块601,用于接收其他代理服务器发送的所述请求报文;

路径获取模块602,用于解析所述请求报文,获得所述请求报文的自下一跳开始的剩余路径信息;

报文发送模块603,用于如果下一跳不是源站服务器,将所述请求报文发送给下一跳的代理服务器,否则,解析所述请求报文获得源数据,并将所述源数据发送到源站服务器。

本发明实施例通过解析报文获得优选的通信路径,并按照该优选的通信路径进行数据的转发。通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

可选的,在所述装置的其他实施例中,请参照图14,所述装置600还包括:

第一会话表建立模块604,用于:

解析所述请求报文,获得用户标识;

建立当前代理服务器的会话表,根据所述用户标识生成所述当前代理服务器的会话表的查询键值;

将所述用户标识加入到所述会话表中;

将所述请求报文通过当前代理服务器的通信路径信息加入到所述会话表中。

可选的,在所述装置的其他实施例中,请参照图14,所述装置600还包括:

第一报文发送模块605,用于如果向下一跳代理服务器发送报文失败时,将所述报文发送给下下跳代理服务器。

可选的,在所述装置的其他实施例中,请参照图14,所述装置600还包括:

第一会话查询及报文转发模块606,用于:

如果接收到已经建立会话的代理服务器发送的报文时,解析所述报文获得所述用户标识;

根据所述用户标识建立查询键值,进行会话查询,并根据会话查询到的路径将所述报文发送到下一跳代理服务器。

需要说明的是,上述代理转发装置可执行本发明实施例所提供的代理转发方法,具备执行方法相应的功能模块和有益效果。未在代理转发装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的代理转发方法。

图15是本发明实施例提供的代理服务器20的硬件结构示意图,如图15所示,该代理服务器20包括:

一个或多个处理器21以及存储器22,图15中以一个处理器21为例。

处理器21和存储器22可以通过总线或者其他方式连接,图15中以通过总线连接为例。

存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的代理转发方法对应的程序指令/模块(例如,附图11所示的接收模块501)。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行代理服务器的各种功能应用以及数据处理,即实现上述方法实施例的代理转发方法。

存储器22可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据代理转发装置的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至代理转发装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述任意方法实施例中的代理转发方法,例如,执行以上描述的图2中的方法步骤101-103,图3中的方法步骤201至步骤207,图7中的方法步骤301至步骤303,图8中的方法步骤401至步骤407;实现图11中的模块501-503、图12中的模块501-507,图13中模块601-603,图14中的模块601-606的功能。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图15中的一个处理器21,可使得上述一个或多个处理器可执行上述任意方法实施例中的代理转发方法,例如,执行以上描述的图2中的方法步骤101-103,图3中的方法步骤201至步骤207,图7中的方法步骤301至步骤303,图8中的方法步骤401至步骤407;实现图11中的模块501-503、图12中的模块501-507,图13中模块601-603,图14中的模块601-606的功能。

请参照图1,本发明实施例还了一种多级代理网络100,所述网络包括至少三个如上所述的代理服务器20,至少三个所述代理服务器20彼此通信连接;

其中一个所述代理服务器20用于作为入口代理服务器与客户端通信连接,另一个所述代理服务器20用于作为出口代理服务器与源站服务器通信连接,其他代理服务器20作为中间代理服务器,用于在所述入口代理服务器和所述出口代理服务器之间转发报文。

本发明实施例通过通过多级代理服务器进行客户端和源站服务器间的交互,能选择优选路径进行数据包的传输,数据传输效率高。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1