基于Web代理服务器的交互方法、系统和服务器架构与流程

文档序号:13286993阅读:248来源:国知局
基于Web代理服务器的交互方法、系统和服务器架构与流程

本发明属于通讯技术领域,具体涉及一种基于web代理服务器的交互方法、系统和服务器架构。



背景技术:

目前,网络娱乐软件层出不穷,它使玩家感受到了不同的精神生活。网络娱乐软件需要有不同的功能模块组成,为了提高用户的体验度,很多网络娱乐软件提供者设置了不同的业务服务器,以支撑网络娱乐软件的不同的功能。例如:聊天交友软件中,一般就有用户接入服务器、网守服务器、聊天室管理服务器等业务服务器。

用户使用网络娱乐软件时,一般是通过终端向web服务器发起相关信息,web服务器又通过与相关业务服务器的交互,将信息发送给相关业务服务器,业务服务器根据用户发送的信息做出响应,并把响应信息发送给web服务器,由web服务器传送给终端。

web服务器与业务服务器的交互可以是通过脚本扩展来实现的,例如web服务器与c++服务器(用c++语言编辑的系统程序)可以通过php(hypertextpreprocessorc,超文本预处理器)扩展实现。web服务器需要调用业务服务器的扩展接口来实现数据的交互通讯。针对不同的业务服务器,web服务器需要关注每个业务服务器的ip地址和端口才能实现通讯,这无形中增加了web服务器与业务服务器的耦合性。随着网络娱乐软件的功能增多,业务服务器的数量也在增多,web服务器需要关注的ip地址和端口也随之增多,这增加了web服务器的维护复杂度,也提高了web服务器的运行成本。



技术实现要素:

为了解决上述技术问题,本发明提供一种基于web代理服务器的交互方法、系统和服务器架构,以减少web服务器需要关注的ip地址和端口,减少web服务器的运行成本,提高数据传输速率。

本发明采用如下技术方案:

一方面,本发明提供一种基于web代理服务器的交互方法,所述web代理服务器执行的操作包括:

接收web服务器的请求信息,所述请求信息包括请求地址信息和请求参数信息;

将所述请求信息进行加密和序列化,得到序列化的请求信息;

根据所述请求地址信息,将所述序列化的请求信息传输给相应的业务服务器;

接收所述业务服务器响应所述请求信息做出的序列化的响应信息,所述序列化的响应信息包括响应地址信息和响应参数信息;

对所述序列化的响应信息进行解密和反序列化,得到响应信息;

根据所述响应地址信息,将所述响应信息传输给所述web服务器。

优选的是,所述将所述序列化的请求信息传输给相应的业务服务器,是通过将所述序列化的请求信息传输给接口服务器,所述接口服务器对所述序列化的请求信息进行处理后,再根据所述请求地址信息将处理后的信息传输给相应的业务服务器;所述接口服务器对所述序列化的请求信息进行的处理包括:

接收所述序列化的请求信息,所述序列化的请求信息包括请求地址信息和请求参数信息;

对所述序列化的请求信息进行反序列化,并解密得到请求信息;

根据所述请求地址信息,将所述请求信息发送给相应的业务服务器。

进一步地,所述将所述请求信息发送给相应的业务服务器之前包括:所述接口服务器与所述相应的业务服务器创建tcp连接。

较佳地,将所述请求信息发送给相应的业务服务器之后,包括:

接收该业务服务器响应所述请求信息做出的响应信息,所述响应信息包括响应地址信息和响应参数信息;

将所述响应信息进行加密和序列化,得到序列化的响应信息;

根据所述响应地址信息,将所述序列化的响应信息发送给所述web代理服务器。

通常,所述业务服务器包括用户接入服务器、网守服务器、聊天室管理服务器、财富服务器、内容处理服务器和通知服务器中的任意一种或多种。

另一方面,本发明还提供一种基于web代理服务器的交互系统,所述web代理服务器包括:

接收模块,用于接收web服务器的请求信息,所述请求信息包括请求地址信息和请求参数信息;

序列化模块,用于将所述请求信息进行加密和序列化,得到序列化的请求信息;

传输模块,用于根据所述请求地址信息,将所述序列化的请求信息传输给相应的业务服务器;

所述接收模块,还用于接收所述业务服务器响应所述请求信息做出的序列化的响应信息,所述响应信息包括响应地址信息和响应参数信息;

反序列化模块,用于对所述序列化的响应信息进行解密和反序列化,得到响应信息;

所述传输模块,还用于根据响应地址信息,将所述响应信息传输给所述web服务器。

优选的是,所述传输模块,还用于将所述序列化的请求信息传输给接口服务器;所述接口服务器包括:

收取模块,用于接收所述序列化的请求信息,所述序列化的请求信息包括请求地址信息和请求参数信息;

解密模块,用于对所述序列化的请求信息进行反序列化,并解密得到请求信息;

发送模块,用于根据所述请求地址信息,将所述请求信息发送给相应的业务服务器。

进一步,所述接口服务器还包括:创建模块,用于将所述请求信息发送给相应的业务服务器之前,所述接口服务器与所述相应的业务服务器创建tcp连接。

较佳地,所述收取模块,还用于将所述请求信息发送给相应的业务服务器之后,接收该业务服务器响应所述请求信息做出的响应信息,所述响应信息包括响应地址信息和响应参数信息;

加密模块,用于将所述响应信息进行加密和序列化,得到序列化的响应信息;

所述发送模块,还用于根据所述响应地址信息,将所述序列化的响应信息发送给所述web代理服务器。

本发明还提供一种服务器架构,其包括web服务器,所述web服务器通过web代理服务器接口与web代理服务器连接,所述web代理服务器通过接口服务器接口与接口服务器连接,所述接口服务器通过业务服务器接口与业务服务器连接。

本发明的基于web代理服务器的交互方法,通过web代理服务器来承接所有的web服务器的请求信息和相应业务服务器的响应信息,并对信息进行加密、序列化、解密、反序列化等处理,既保证了数据的私密性,又很大程度上减少了web服务器的相关操作,即web服务器不用关注所有的业务服务器的ip地址和端口信息,也不用对相关数据进行加密、解密等操作,降低了web服务器的维护成本,也提高了数据传输速率。

附图说明

图1为本发明一优选实施例中的基于web代理服务器的交互方法的流程图。

图2为本发明另一优选实施例中的基于web代理服务器的交互方法的部分流程图。

图3为本发明另一优选实施例中的基于web代理服务器的交互方法的部分流程图。

图4为本发明一优选实施例中的基于web代理服务器的交互系统的结构图。

图5为本发明另一优选实施例中的基于web代理服务器的交互系统的部分结构图。

图6为本发明另一优选实施例中的基于web代理服务器的交互系统的部分结构图。

图7为本发明另一优选实施例中的服务器架构的结构图。

具体实施方式

为了更加清楚地了解本发明的技术方案,下面结合附图对本发明进行详细介绍。本发明的实施例具有示例性的作用,本领域技术人员在本发明实施例基础上做出的无实质性的改进,都应属于本发明的保护范围。

如图1所示的基于web代理服务器的交互方法,所述web代理服务器执行的操作包括:

s101:接收web服务器的请求信息,所述请求信息包括请求地址信息和请求参数信息。

通常用户通过终端设备发起访问信息,进行访问web服务器,web服务器需要判断用户访问信息的地址,如果判断出的访问地址信息为web代理服务器的ip地址,则web服务器生成请求信息,并将该请求信息发给web代理服务器的相应端口。因此,web服务器只需关注web代理服务器的ip地址和端口号,而不用关注每个业务服务器的ip地址和端口号。

所述请求地址信息通常包括web代理服务器的ip地址、web代理服务器的端口号等。另外,请求信息中也可以包括一些请求参数信息,该请求参数信息可以依据预先设定的规则进行设定,比如:该规则可以预先约定一个或者多个对应信息,并约定对应信息与请求参数信息的关系,具体可以为:对应信息可以是预先建立的对应userid和密码,请求参数信息可以是参数userid和密码,参数userid和密码与对应信息相比较,若正确,则相应的业务服务器可以允许终端用户登录;对应信息也可以是一系列财富值,当请求参数信息与某个财富值相同时,则相应的业务服务器可以返回该财富值发给终端用户。

s102:将所述请求信息进行加密和序列化,得到序列化的请求信息。

web代理服务器接收请求信息后,为了增加数据的安全性,需要对请求信息进行加密,以使数据形成私密数据。加密,可以是根据预先设定的规则,对原来的请求信息进行处理,以使得后续读取该信息时,需要按照该规则才能读取。所述预先设定的规则,通常是设计者自己设定的规则,该规则通常不对外公开。或者,加密也可以是使用已知的算法对所述请求信息进行加密,以使得后续需要读取相关信息时,需要使用相关密钥。所使用的算法可以是des(dataencryptionstandard)算法或rsa(rivest-shamir-adleman)算法。

所述序列化,是将请求信息转化成二进制代码,以便于对信息进行存储和传输。所述加密和序列化,可以同时进行,也可以分开进行。如果请求信息包含多个数据包,可以在进行加密和序列化时,进行打包处理。

s103:根据所述请求地址信息,将所述序列化的请求信息传输给相应的业务服务器。

所述地址信息可以包括业务服务器的ip地址。web代理服务器根据业务服务器的ip地址,将所述序列化的请求信息传递给相应的业务服务器。所述序列化的请求信息是进行加密后的信息,为私密数据,web代理服务器将序列化的请求信息发送给相关业务服务器的过程,可以避免数据信息的泄露,保障了信息传递过程的安全性。

s104:接收所述业务服务器响应所述请求信息做出的序列化的响应信息,所述序列化的响应信息包括响应地址信息和响应参数信息。

web代理服务器将所述序列化的请求信息传递给相应的业务服务器后,该业务服务器经过反序列化、解密等处理,提取出请求信息的请求内容,根据请求参数信息和预先设定的规则,该业务服务器做出相应的响应信息,并将该响应信息经加密、序列化、打包后发给web代理服务器。

所述响应地址信息包括web代理服务器的ip地址等;所述响应参数信息可以依据预先设定的规则进行设定,比如:该规则可以预先约定一个或者多个对应信息,并约定与每个对应信息相应的响应参数信息,同时约定对应信息与请求参数信息的关系,具体可以为:对应信息可以是预先建立的对应userid和密码,请求参数信息可以是参数userid和密码,参数userid和密码与对应信息相比较,若正确,则相应的业务服务器根据预先约定的规则,可以获取正确的响应参数信息x,将该正确的响应参数信息x通过web代理服务器、web服务器传输给终端用户,可以允许终端用户登录;参数userid和密码与对应信息相比较,若错误,则相应的业务服务器根据预先约定的规则,可以获取错误的响应参数信息y,将该错误的响应参数信息y通过web代理服务器、web服务器传输给终端用户,可以不允许终端用户登录。

再比如:预先约定的规则中,对应信息也可以是一系列财富值,当请求参数信息与某个财富值相同时,相应的业务服务器根据预先约定的规则,可以获取该财富值对应的数值,将该财富值对应的数值作为响应参数信息通过web代理服务器、web服务器传输给终端用户,从而可以使该终端用户获取相应的财富值。

s105:对所述序列化的响应信息进行解密和反序列化,得到响应信息。

web代理服务器接收到所述序列化的响应信息后,经过解密、反序列化得到响应信息。即解密、反序列等步骤是在web代理服务器上进行的,web服务器不需要对每个业务服务器发来的信息进行解密和反序列化,进一步减少了web服务器的操作。

s106:根据所述响应地址信息,将所述响应信息传输给所述web服务器。

web代理服务器得到响应信息后,根据响应信息中的响应地址信息,将所述响应信息传输给web服务器,web服务器根据响应地址信息,将所述响应信息发送给终端设备。

本发明实施例的基于web代理服务器的交互方法,通过web代理服务器来承接所有的web服务器的请求信息和相应业务服务器的响应信息,并对信息进行加密、序列化、解密、反序列化等处理,既保证了数据的私密性,又很大程度上减少了web服务器的相关操作,即web服务器不用关注所有的业务服务器的ip地址和端口信息,也不用对相关数据进行加密、解密等操作,降低了web服务器的维护成本,也提高了数据传输速率。

基于图1所示的实施例,如图2所示的基于web代理服务器的交互方法,所述将所述序列化的请求信息传输给相应的业务服务器,是通过将所述序列化的请求信息传输给接口服务器,所述接口服务器对所述序列化的请求信息进行处理后,再根据所述请求地址信息将处理后的信息传输给相应的业务服务器;所述接口服务器对所述序列化的请求信息进行的处理包括:

s1031:接收所述序列化的请求信息,所述序列化的请求信息包括请求地址信息和请求参数信息。

所述请求地址信息,通常包括接口服务器的ip地址,根据接口服务器的ip地址,web代理服务器将所述序列化的请求信息发送给接口服务器。接口服务器可以通过web代理服务器上的接口服务器接口与所述web代理服务器连接。

s1032:对所述序列化的请求信息进行反序列化,并解密得到请求信息。

接口服务器接收到序列化的请求信息后,对所述序列化的请求信息进行反序列化、解密等处理,并得到请求信息。

s1033:根据所述请求地址信息,将所述请求信息发送给相应的业务服务器。

所述请求地址信息通常包括业务服务器的ip地址,接口服务器根据业务服务器的ip地址将所述请求信息发送给相应的业务服务器。

本发明实施例中,接口服务器的设置可以使业务服务器封装在接口服务器之后,所有的业务服务器与web代理服务器的交互都是通过接口服务器,提高了业务服务器的安全性,由于业务服务器不需要解密等操作,也提高了业务服务器的处理速度。

通常,所述将所述请求信息发送给相应的业务服务器之前包括:所述接口服务器与所述相应的业务服务器创建tcp(transmissioncontrolprotocol传输控制协议)连接。

当接口服务器与相应的业务服务器第一次交互时,接口服务器会创建一个tcp连接,可以是tcp长连接,也可以是tcp短连接,可以根据具体情况设定。同时,把连接session信息和终端用户ip地址信息绑定存储在接口服务器中,便于该用户下次有数据请求时,直接发送到相应的业务服务器,直到终端用户退出使用时才断开tcp连接,断开tcp连接时,接口服务器清除该用户的ip信息。

基于图2所示的实施例,如图3所示的基于web代理服务器的交互方法,将所述请求信息发送给相应的业务服务器之后,包括:

s1034:接收该业务服务器响应所述请求信息做出的响应信息,所述响应信息包括响应地址信息和响应参数信息。

接口服务器将所述请求信息传递给相应的业务服务器后,该业务服务器提取出请求信息的请求内容,根据请求参数信息和预先设定的规则,该业务服务器做出相应的响应信息,并将该响应信息发给接口服务器。所述响应地址信息包括接收服务器的ip地址。所述响应参数信息是根据与请求参数信息相同或不同的预先设定的规则进行设定的,比如:该规则可以预先约定一个或者多个对应信息,并约定对应信息与请求参数信息的关系,具体可以为:对应信息可以是预先建立的对应userid和密码,请求参数信息可以是参数userid和密码,参数userid和密码与对应信息相比较,若正确,则相应的业务服务器可以允许终端用户登录,则做出的响应参数信息可以是某个数值或者某个符号,以表明允许终端用户登录;对应信息也可以是一系列财富值,当请求参数信息与某个财富值相同时,则相应的业务服务器可以返回该财富值发给终端用户,做出的响应参数信息可以是某个数值或者某个符号,以表明给予终端用户的财富值。

s1035:将所述响应信息进行加密和序列化,得到序列化的响应信息。

接口服务器接收响应信息后,为了增加数据的安全性,需要对响应信息进行加密,以使数据形成私密数据。加密,可以是根据预先设定的规则,对原来的响应信息进行处理,以使得后续读取该信息时,需要按照该规则才能读取。或者,加密也可以是使用已知的算法对所述请求信息进行加密,以使得后续需要读取相关信息时,需要使用相关密钥。所使用的算法可以是des(dataencryptionstandard)算法或rsa(rivest-shamir-adleman)算法。

所述加密和序列化,可以同时进行,也可以分开进行。如果响应信息包含多个数据包,可以在进行加密和序列化时,进行打包处理。

s1036:根据所述响应地址信息,将所述序列化的响应信息发送给所述web代理服务器。

所述响应地址信息包括web代理服务器的ip地址、web服务器的ip地址和终端用户的ip地址等。接口服务器接收到响应信息后,根据响应信息中的响应地址信息,将所述响应信息传输给web代理服务器,web代理服务器接收所述序列化的响应信息后,对所述序列化的响应信息进行解密和反序列化,得到响应信息;然后,web代理服务器根据响应地址信息,将所述响应信息发送给web服务器,web服务器根据响应地址信息,将所述响应信息发送给终端设备。

通常,所述业务服务器可以包括用户接入服务器(entryserver,简称es),该服务器用于提供用户登录服务;网守服务器(gatekeeperserver,简称gks),该服务器用于提供网守服务;聊天室管理服务器(chatroomserver,简称cms),该服务器用于提供聊天室管理服务;财富服务器(wealthserver,简称wls),该服务器用于提供用户财富管理服务;内容处理服务器(contentprocessserver,简称cps),该服务器用于提供内容处理服务;通知服务器(notificationserver,简称ns),该服务器用于提供内容通知服务。当然,根据不同需要,业务服务器可以包括其中的一种或多种服务器,也可以包括其他所需要的业务服务器。

本发明是示例还提供如图4所示的基于web代理服务器的交互系统,所述web代理服务器包括:

接收模块,用于接收web服务器的请求信息,所述请求信息包括请求地址信息和请求参数信息;

序列化模块,用于将所述请求信息进行加密和序列化,得到序列化的请求信息;

传输模块,用于根据所述请求地址信息,将所述序列化的请求信息传输给相应的业务服务器;

所述接收模块,还用于接收所述业务服务器响应所述请求信息做出的序列化的响应信息,所述响应信息包括响应地址信息和响应参数信息;

反序列化模块,用于对所述序列化的响应信息进行解密和反序列化,得到响应信息;

所述传输模块,还用于根据响应地址信息,将所述响应信息传输给所述web服务器。

基于图4所示的实施例,如图5所示的基于web代理服务器的交互系统,所述传输模块,还用于将所述序列化的请求信息传输给接口服务器;所述接口服务器包括:

收取模块,用于接收所述序列化的请求信息,所述序列化的请求信息包括请求地址信息和请求参数信息;

解密模块,用于对所述序列化的请求信息进行反序列化,并解密得到请求信息;

发送模块,用于根据所述请求地址信息,将所述请求信息发送给相应的业务服务器。

一般,所述基于web代理服务器的交互系统中,所述接口服务器还包括:创建模块,用于将所述请求信息发送给相应的业务服务器之前,所述接口服务器与所述相应的业务服务器创建tcp连接。

基于图5所示的实施例,如图6所示的基于web代理服务器的交互系统,所述收取模块,还用于将所述请求信息发送给相应的业务服务器之后,接收该业务服务器响应所述请求信息做出的响应信息,所述响应信息包括响应地址信息和响应参数信息;

加密模块,用于将所述响应信息进行加密和序列化,得到序列化的响应信息;

所述发送模块,还用于根据所述响应地址信息,将所述序列化的响应信息发送给所述web代理服务器。

如图7所示的服务器架构,其包括web服务器,所述web服务器通过web代理服务器接口与web代理服务器连接,所述web代理服务器通过接口服务器接口与接口服务器连接,所述接口服务器通过业务服务器接口与业务服务器连接。其中,所述业务服务器可以通过web服务器接口与所述web服务器连接。

进一步地,如图7所示,所述接口服务器通过业务服务器接口与业务服务器连接,具体可以是通过接入接口与接入服务器(es)连接,通过网守接口与网守服务器(gks)连接,通过聊天室管理接口与聊天室管理服务器(cms)连接,通过财富接口与财富服务器(wls)连接,通过内容处理接口与内容处理服务器(cps)连接,通过通知服务器接口与通知服务器(ns)连接。

该服务架构的工作流程可以为:

s201:所述web服务器响应终端设备的请求,生成请求信息,并将所述请求信息发送给所述代理服务器,所述请求信息包括请求地址信息和请求参数信息;

s202:所述web代理服务器接收所述请求信息;

s203:所述web代理服务器将所述请求信息进行加密和序列化,得到序列化的请求信息;

s204:所述web代理服务器根据所述请求地址信息,将所述序列化的请求信息传输给所述接口服务器;

s205:所述接口服务器接收所述序列化的请求信息,所述序列化的请求信息包括请求地址信息和请求参数信息;

s206:所述接口服务器对所述序列化的请求信息进行反序列化,并解密得到请求信息;

s207:所述接口服务器根据所述请求地址信息,将所述请求信息发送给相应的业务服务器;

s208:所述业务服务器根据响应所述请求信息做出的响应信息,所述响应信息包括响应地址信息和响应参数信息;

s209:所述业务服务器根据所述响应地址信息,将所述响应信息发送给所述接口服务器;

s210:所述接口服务器接收所述响应信息,所述响应信息包括响应地址信息和响应参数信息;

s211:所述接口服务器将所述响应信息进行加密和序列化,得到序列化的响应信息;

s212:所述接口服务器根据所述响应地址信息,将所述序列化的响应信息发送给所述web代理服务器;

s213:所述web代理服务器接收所述序列化的响应信息,所述序列化的响应信息包括响应地址信息和响应参数信息;

s214:所述web代理服务器对所述序列化的响应信息进行解密和反序列化,得到响应信息;

s215:所述web代理服务器根据所述响应地址信息,将所述响应信息传输给所述web服务器。

另外,如果是业务服务器主动发送信息,可以经过接口服务器直接将信息发送给web代理服务器,不需经过代理服务器。

本发明实施例的服务器架构,通过web代理服务器来承接所有的web服务器的请求信息和相应业务服务器的响应信息,并对信息进行加密、序列化、解密、反序列化等处理,既保证了数据的私密性,又很大程度上减少了web服务器的相关操作,即web服务器不用关注所有的业务服务器的ip地址和端口信息,也不用对相关数据进行加密、解密等操作,降低了web服务器的维护成本,也提高了数据传输速率。接口服务器的设置可以使业务服务器封装在接口服务器之后,所有的业务服务器与web代理服务器的交互都是通过接口服务器,提高了业务服务器的安全性,由于业务服务器不需要解密等操作,也提高了业务服务器的处理速度。

以上所述,仅为本发明的实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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