会话保持方法、装置、计算机设备及存储介质与流程

文档序号:16063384发布日期:2018-11-24 12:25阅读:188来源:国知局

本发明涉及计算机技术领域,尤其涉及一种会话保持方法、装置、计算机设备及计算机可读存储介质。

背景技术

负载均衡(loadbalance,简称lb)是一种服务器集群技术,指通过某种算法实现负载分担的方法。而负载均衡设备就是统一分配访问请求的设备,负载均衡设备会统一接收全部请求,然后按照设定好的算法将这些请求分配给与负载均衡设备连接的多个服务器成员,以此来实现访问请求的均衡分配。而会话保持(sessionpersistence)是指在负载均衡的过程中,使得同一客户端发出的访问请求,始终分发(或调度)到同一台服务器的技术。通过负载均衡设备对多台服务器进行负载均衡调整时,需将访问请求调度到最初创建该会话的服务器上,如果调度其他服务器上,则会导致会话无法持续,最终会话请求失败。而目前的基于负载均衡的会话保持方式不能有效精准地定位到客户端所需要的服务器,给用户的使用带来了不便。



技术实现要素:

本发明实施例提供一种会话保持方法、装置、计算机设备及计算机可读存储介质,能够快读定位与客户端通信的服务器,还能有效地提高服务器的利用率和用户的使用体验度。

一方面,本发明实施例提供了一种会话保持方法,该方法包括:

判断客户端发送的访问请求是否包括cookie标志信息;

若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;

根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息;

将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

另一方面,本发明实施例还提供了一种会话保持装置,该装置包括:

标识判断单元,用于判断客户端发送的访问请求是否包括cookie标志信息;

控制单元,用于若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;

生成单元,用于根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息;

缓存单元,用于将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

又一方面,本发明实施例还提供了一种计算机设备,包括:

存储器,用于存储实现会话保持的程序;以及

处理器,用于运行所述存储器中存储的实现会话保持的程序,以执行如上所述方法。

再一方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现如上所述方法。

本发明实施例通过判断客户端发送的访问请求是否包括cookie标志信息;若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息;将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中,能够在负载均衡设备的调控下,实现客户端与服务器之间的精确并稳定的通讯连接,还能有效地提高服务器的利用率,并提高了用户的使用体验度。

附图说明

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

图1是本发明实施例提供的一种会话保持方法的示意流程图;

图1a是本发明实施例中会话保持方法的应用场景示意图;

图2是本发明实施例提供的一种会话保持方法的另一示意流程图;

图3是本发明另一实施例提供的一种会话保持方法的示意流程图;

图4是本发明另一实施例提供的一种会话保持方法的另一示意流程图;

图5是本发明实施例提供的一种会话保持装置的示意性框图;

图6是本发明实施例提供的一种会话保持装置的另一示意性框图;

图7是本发明另一实施例提供的一种会话保持装置的示意性框图;

图8是本发明另一实施例提供的一种会话保持装置的另一示意性框图;

图9是本发明实施例提供的一种计算机设备结构组成示意图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

请参阅图1,图1是本发明实施例提供的一种会话保持方法的示意流程图。图1a是本发明实施例中会话保持方法的应用场景示意图。其中,该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。终端20能够接收客户端10发送的访问请求,并根据相应的访问请求控制负载均衡设备30为该访问请求分配一相应的服务器40,以便于该服务器40对访问请求进行相应的处理,同时在访问请求不包括cookie标识信息时,根据预设生成规则和该服务器40的ip地址生成一相应的cookie标识信息,以使客户端10再次发起访问请求时,将cookie标识信息插入该再次发起的访问请求中,从而保证客户端10就同一事件发出的访问请求始终能够转发到同一服务器40中。

需要说明的是,图1a中仅示意出一个客户端10,实际应用中,该方法的应用过程中,还可以涉及多个客户端10。同理,负载均衡设备30能够调整调控多台服务器40,并根据实际情况将访问请求转发给相关的服务器40,从而在终端20的控制下实现对多台服务器40的均衡调控,还能够使得终端20基于cookie标识信息实现基于负载均衡的会话保持。

如图1所示,在本实施例中,该方法的步骤包括s101~s104。

s101,判断客户端发送的访问请求是否包括cookie标志信息。

在本实施例中,所述客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,客户端一般安装在普通的客户机上,需要与服务器互相配合运行。一般情况下,所述客户端可以是指浏览器。cookie是由web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含相关的后端服务器的信息,一般情况下,cookie可以被进行读取。而所述cookie标识信息也是cookie中的一种,其用于确认该客户端是否有发起过访问请求,并由负载均衡设备进行均衡配置,以确定用于接收访问请求的服务器。一般情况下,负载均衡设备可用于配置多台服务器。

当客户端发起访问请求时,终端接收到访问请求后需要判断客户端发送的访问请求是否包括cookie标志信息,从而控制负载均衡设备进行相应的处理操作。具体的,首先可以获取客户端发送的访问请求。若终端检测到客户端发送的访问请求,此时则可以即时获取该客户端发送的访问请求进行相应的分析。其次可以判断所获取的访问请求是否包括cookie标志信息。为了确定客户端能够实现会话保持,此时终端需要判断所获取的访问请求是否包括cookie标识信息。

s102,若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。

在本实施例中,若客户端发送的访问请求不包括cookie标识信息,则表示此时客户端为第一次向负载均衡设备发送访问请求,即该客户端没有与任一服务器进行连接通信过,而负载均衡设备连接有多台服务器,故其可以根据各个服务器的运行情况进行相应的调控调整,故在上述情况下,终端需要控制负载均衡设备启动均衡配置,并将该访问请求转发给与所述负载均衡设备相连的其中一个服务器,所述其中一个服务器为负载均衡设备根据所有服务器的运行现状所选择出来的,以便于提高整个系统的处理效率,减少服务器资源的浪费。

s103,根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息。

在本实施例中,为了使得客户端与服务器之间实现会话保持,终端可以根据预先设定的预设规则以及所述其中一个服务器的ip地址,生成一个相应的具有一定标识功能的cookie标识信息,该cookie标识信息可以使得客户端再发起访问请求的时候,负载均衡设备能够直接将再次发起的访问请求发送给到上述的其中一个服务器。所述预设生成规则可以是一个对ip地址进行加密处理的规则,也可以是一个对ip地址进行转换的规则,在本实施例中并不做限定。

如图2所示,在一实施例中,所述步骤s103包括步骤s201~s204。

s201,获取所述其中一个服务器的ip地址,其中,所述ip地址包括四个字节。

在本实施例中,负载均衡设备将访问请求转发给所述其中一个服务器后,终端可以通过负载均衡设备获取所述其中一个服务器的ip地址,因为每个服务器的ip地址是确定的,故通过ip地址可以直接找到与客户端进行通信的服务器。一般情况下,ip地址通常是通过点分十进制分为四个字节的,每个字节包括一个十进制的数值。

s202,将ip地址中的每个字节的十进制数值转换成十六进制数值。

在本实施例中,ip地址中的每个字节都包括一个十进制的数值,此时终端需要将每个自己的十进制的数值全部转换成十六进制的数值,以便于后续处理。

s203,对转换后的ip地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值。

在本实施例中,终端可对转换后的ip地址的所有字节以字节为单位进行一个逆序排列后,再进行去除点分,从而得到一个没有点分的十六进制的第一中间数值。例如,转换后的ip地址为(a,b,c,d),进行逆序排列后则变为(d,c,b,a),而去点分之后可以得到一个第一中间数值,该第一中间数值为dcba,同时该第一中间数值为十六进制,其中a、b、c、d均为一个独立的数。

s204,将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为cookie标识信息。

在本实施例中,终端可以将所述十六进制的第一中间数值作为一个整体转换为十进制的目标数值,该目标数值即为cookie标识信息。

例如,若所述其中一个服务器的ip地址为10.33.233.205,将该ip地址的每个字节的十进制数值转换为十六进制数值:0a.21.e9.cd;将转换后的ip地址进行逆序排列后去点分以得到一个无点分的十六进制的第一中间数值cde9210a;将该第一中间数值cde9210a转换为十进制的目标数值345460507626,此时3454607626即为cookie标识信息。

s104,将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

在本实施例中,所述生成的cookie标志信息为cookie中的一种,同时其可被发送到客户端进行缓存,以便在需要时被读取。为了实现会话保持,当cookie标志信息缓存成功后,若客户端再次发送访问请求,此时终端应将该cookie标志信息插入再次发送的访问请求中,以便于根据cookie标志信息确定客户端上次访问通信的服务器。

请参阅图3,图3是本发明另一实施例提供的一种会话保持方法的示意流程图。该方法可以运行在智能手机(如android手机、ios手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图3所示,该方法的步骤包括s301~s306。

s301,判断客户端发送的访问请求是否包括cookie标志信息。

s302,若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。

s303,根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息。

s304,将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

s305,若客户端发送的访问请求包括cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址。

在本实施例中,当所获取的访问请求包括cookie标志信息时,则表明该客户端已通过负载均衡设备与一个服务器进行连接通信了,为了保持整个系统操作的稳定性,终端需要根据cookie标志信息确定已与客户端连接通信的服务器。此时需要对cookie标志信息根据所述预设生成规则的反向规则进行解析,从而得到一个与cookie标志信息相应的ip地址。

如图4所示,在一实施例中,所述步骤s305包括步骤s401~s404。

s401,将十进制的cookie标志信息转换为十六进制的第二中间数值。其中,终端可以将十进制的cookie标志信息转换为一个十六进制的第二中间数值,以便于进行后续处理。

s402,将所述第二中间数值按顺序依次以两位数字为一个字节进行点分。其中,为了解析得到相应的ip地址,终端还需要将所述第二中间数值从右至左或者从左至右依次以两位数字为一个字节进行点分,从而保证了将第二中间数值进行分开。

s403,将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值。其中,点分后的第二中间数值中的每个字节的均为一个十六进制的数值,并且每个字节的数值均可以通过转换成为一个十进制的数值。

s404,将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的ip地址。

其中,终端可以将转换后的第二中间数值中的所有字节以字节为单位,进行一个逆向排序,从而得到一相应的ip地址。

例如,若cookie标识信息为十进制的数值3454607626,可以先将其转换为十六进制的第二中间数值cde9210a;然后将cde9210a从右至左以两位数值作为字节进行点分以得到cd.e9.21.0a;再将点分后的每个字节的数值转换为十进制的数值以得到205.233.33.10;最后将205.233.33.10进行逆序排列从而可以得到一个相应的ip地址:10.33.233.205。

s306,控制所述负载均衡设备将所述访问请求转发给与所述ip地址相对应的服务器。

在本实施例中,终端可以根据所述ip地址确定与其对应的服务器,并控制所述负载均衡设备将所述访问请求转发给所确定的服务器,从而确保客户端与服务器在通信过程中能够一一对应,避免异常情况的发生。另外,所述负载均衡设备可以是f5负载均衡设备。

在一实施例中,本发明另一实施例提供的方法在所述根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址的步骤之前,还包括:

步骤s305a,若客户端发送的访问请求包括cookie标志信息,判断所述cookie标志信息的生成时间是否在预设时间范围内。

在本实施例中,为了确保cookie标识信息的有效性,终端需要获取cookie标识信息的生成时间,并判断其生成时间是否位于预设的时间范围内。若其生成时间在预设的时间范围内,则表明该cookie标识信息是有效的,可以进行正常应用。若其生成时间不在预设的时间范围内,则表明该cookie标识信息已经过期无效了,此时要客户端重新生成访问请求,再次重新分配服务器。

故其中,若所述cookie标志信息的生成时间在预设时间范围内,执行步骤s305。

步骤s307,若所述cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述步骤s302。

综上,本发明能够在负载均衡设备的调控下,实现客户端与服务器之间的精确并稳定的通讯连接,还能有效地提高服务器的利用率,并提高了用户的使用体验度。

本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

请参阅图5,对应上述一种会话保持方法,本发明实施例还提出一种会话保持装置,该装置100包括:标识判断单元101、第一控制单元102、生成单元103以及缓存单元104。

标识判断单元101,用于判断客户端发送的访问请求是否包括cookie标志信息。

在本实施例中,所述客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,客户端一般安装在普通的客户机上,需要与服务器互相配合运行。一般情况下,所述客户端可以是指浏览器。cookie是由web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含相关的后端服务器的信息,一般情况下,cookie可以被进行读取。而所述cookie标识信息也是cookie中的一种,其用于确认该客户端是否有发起过访问请求,并由负载均衡设备进行均衡配置,以确定用于接收访问请求的服务器。一般情况下,负载均衡设备可用于配置多台服务器。

当客户端发起访问请求时,终端接收到访问请求后需要判断客户端发送的访问请求是否包括cookie标志信息,从而控制负载均衡设备进行相应的处理操作。具体的,首先可以获取客户端发送的访问请求。若终端检测到客户端发送的访问请求,此时则可以即时获取该客户端发送的访问请求进行相应的分析。其次可以判断所获取的访问请求是否包括cookie标志信息。为了确定客户端能够实现会话保持,此时终端需要判断所获取的访问请求是否包括cookie标识信息。

所述第一控制单元102,用于若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。

在本实施例中,若客户端发送的访问请求不包括cookie标识信息,则表示此时客户端为第一次向负载均衡设备发送访问请求,即该客户端没有与任一服务器进行连接通信过,而负载均衡设备连接有多台服务器,故其可以根据各个服务器的运行情况进行相应的调控调整,故在上述情况下,终端需要控制负载均衡设备启动均衡配置,并将该访问请求转发给与所述负载均衡设备相连的其中一个服务器,所述其中一个服务器为负载均衡设备根据所有服务器的运行现状所选择出来的,以便于提高整个系统的处理效率,减少服务器资源的浪费。

所述生成单元103,用于根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息。

在本实施例中,为了使得客户端与服务器之间实现会话保持,终端可以根据预先设定的预设规则以及所述其中一个服务器的ip地址,生成一个相应的具有一定标识功能的cookie标识信息,该cookie标识信息可以使得客户端再发起访问请求的时候,负载均衡设备能够直接将再次发起的访问请求发送给到上述的其中一个服务器。所述预设生成规则可以是一个对ip地址进行加密处理的规则,也可以是一个对ip地址进行转换的规则,在本实施例中并不做限定。

如图6所示,在一实施例中,所述生成单元103包括:地址获取单元201、第一转换单元202、第一排序单元203以及第二转换单元204。

所述地址获取单元201,用于获取所述其中一个服务器的ip地址,其中,所述ip地址包括四个字节。

在本实施例中,负载均衡设备将访问请求转发给所述其中一个服务器后,终端可以通过负载均衡设备获取所述其中一个服务器的ip地址,因为每个服务器的ip地址是确定的,故通过ip地址可以直接找到与客户端进行通信的服务器。一般情况下,ip地址通常是通过点分十进制分为四个字节的,每个字节包括一个十进制的数值。

所述第一转换单元202,用于将ip地址中的每个字节的十进制数值转换成十六进制数值。

在本实施例中,ip地址中的每个字节都包括一个十进制的数值,此时终端需要将每个自己的十进制的数值全部转换成十六进制的数值,以便于后续处理。

所述第一排序单元203,用于对转换后的ip地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值。

在本实施例中,终端可对转换后的ip地址的所有字节以字节为单位进行一个逆序排列后,再进行去点分,从而得到一个没有点分的十六进制的第一中间数值。例如,转换后的ip地址为(a,b,c,d),进行逆序排列后则变为(d,c,b,a),而去点分之后可以得到一个第一中间数值,该第一中间数值为dcba,同时该第一中间数值为十六进制,其中a、b、c、d均为一个独立的数。

所述第二转换单元204,用于将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为cookie标识信息。

在本实施例中,终端可以将所述十六进制的第一中间数值作为一个整体转换为十进制的目标数值,该目标数值即为cookie标识信息。

例如,若所述其中一个服务器的ip地址为10.33.233.205,将该ip地址的每个字节的十进制数值转换为十六进制数值:0a.21.e9.cd;将转换后的ip地址进行逆序排列后去点分以得到一个无点分的十六进制的第一中间数值cde9210a;将该第一中间数值cde9210a转换为十进制的目标数值3454607626,此时3454607626即为cookie标识信息。

所述缓存单元104,用于将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

在本实施例中,所述生成的cookie标志信息为cookie中的一种,同时其可被发送到客户端进行缓存,以便在需要时被读取。为了实现会话保持,当cookie标志信息缓存成功后,若客户端再次发送访问请求,此时终端应将该cookie标志信息插入再次发送的访问请求中,以便于根据cookie标志信息确定客户端上次访问通信的服务器。

请参阅图7,对应上述一种会话保持方法,本发明另一实施例还提出一种会话保持装置,该装置300包括:标识判断单元301、第一控制单元302、生成单元303、缓存单元304、解析单元305以及第二控制单元306。

所述标识判断单元301,用于判断客户端发送的访问请求是否包括cookie标志信息。

所述控制单元302,用于若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器。

所述生成单元303,用于根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息。

所述缓存单元304,用于将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

所述解析单元305,用于若客户端发送的访问请求包括cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址。

在本实施例中,当所获取的访问请求包括cookie标志信息时,则表明该客户端已通过负载均衡设备与一个服务器进行连接通信了,为了保持整个系统操作的稳定性,终端需要根据cookie标志信息确定已与客户端连接通信的服务器。此时需要对cookie标志信息根据所述预设生成规则的反向规则进行解析,从而得到一个与cookie标志信息相应的ip地址。

如图8所示,在一实施例中,所述解析单元305包括:第三转换单元401、点分单元402、第四转换单元403以及第二排序单元404。

所述第三转换单元401,用于将十进制的cookie标志信息转换为十六进制的第二中间数值。其中,终端可以将十进制的cookie标志信息转换为一个十六进制的第二中间数值,以便于进行后续处理。

所述点分单元402,用于将所述第二中间数值按顺序依次以两位数字为一个字节进行点分。其中,为了解析得到相应的ip地址,终端还需要将所述第二中间数值从右至左或者从左至右依次以两位数字为一个字节进行点分,从而保证了将第二中间数值进行分开。

所述第四转换单元403,用于将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值。其中,点分后的第二中间数值中的每个字节的均为一个十六进制的数值,并且每个字节的数值均可以通过转换成为一个十进制的数值。

所述第二排序单元404,用于将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的ip地址。

其中,终端可以将转换后的第二中间数值中的所有字节以字节为单位,进行一个逆向排序,从而得到一相应的ip地址。

例如,若cookie标识信息为十进制的数值3454607626,可以先将其转换为十六进制的第二中间数值cde9210a;然后将cde9210a从右至左以两位数值作为字节进行点分以得到cd.e9.21.0a;再将点分后的每个字节的数值转换为十进制的数值以得到205.233.33.10;最后将205.233.33.10进行逆序排列从而可以得到一个相应的ip地址:10.33.233.205。

所述第二控制单元306,用于控制所述负载均衡设备将所述访问请求转发给与所述ip地址相对应的服务器。

在本实施例中,终端可以根据所述ip地址确定与其对应的服务器,并控制所述负载均衡设备将所述访问请求转发给所确定的服务器,从而确保客户端与服务器在通信过程中能够一一对应,避免异常情况的发生。另外,所述负载均衡设备可以是f5负载均衡设备。

在一实施例中,本发明实施例提供的装置300还包括:

时间判断单元305a,用于若客户端发送的访问请求包括cookie标志信息,判断所述cookie标志信息的生成时间是否在预设时间范围内。

在本实施例中,为了确保cookie标识信息的有效性,终端需要获取cookie标识信息的生成时间,并判断其生成时间是否位于预设的时间范围内。若其生成时间在预设的时间范围内,则表明该cookie标识信息是有效的,可以进行正常应用。若其生成时间不在预设的时间范围内,则表明该cookie标识信息已经过期无效了,此时要客户端重新生成访问请求,再次重新分配服务器。

故其中,若所述cookie标志信息的生成时间在预设时间范围内,执行解析单元305。

重启单元307,用于若所述cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述第一控制单元302。

由以上可见,在硬件实现上,以上标识判断单元101、第一控制单元102、生成单元103以及缓存单元104等可以以硬件形式内嵌于或独立于会话保持的装置中,也可以以软件形式存储于会话保持装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(cpu)、微处理器、单片机等。

上述会话保持装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。

图9为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图9,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种会话保持方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种会话保持方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502执行如下操作:判断客户端发送的访问请求是否包括cookie标志信息;若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息;将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

所述处理器502还执行如下操作:若客户端发送的访问请求包括cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址;控制所述负载均衡设备将所述访问请求转发给与所述ip地址相对应的服务器。

所述处理器502还执行如下操作:若客户端发送的访问请求包括cookie标志信息,判断所述cookie标志信息的生成时间是否在预设时间范围内;其中,若所述cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址;若所述cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器的步骤。

所述cookie标志信息为一个十进制的数值,所述处理器502执行所述根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址,具体执行如下操作:将十进制的cookie标志信息转换为十六进制的第二中间数值;将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的ip地址。

所述处理器502执行所述根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息,具体执行如下操作:获取所述其中一个服务器的ip地址,其中,所述ip地址包括四个字节;将ip地址中的每个字节的十进制数值转换成十六进制数值;对转换后的ip地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值;将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为cookie标识信息。

本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。

本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:判断客户端发送的访问请求是否包括cookie标志信息;若客户端发送的访问请求不包括cookie标志信息,控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器;根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息;将所述cookie标志信息发送给所述客户端进行缓存,以使所述客户端在发送新生成的访问请求时,将所述cookie标志信息配置到所述新生成的访问请求中。

所述处理器还实现如下操作:若客户端发送的访问请求包括cookie标志信息,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址;控制所述负载均衡设备将所述访问请求转发给与所述ip地址相对应的服务器。

所述处理器还实现如下步骤:若客户端发送的访问请求包括cookie标志信息,判断所述cookie标志信息的生成时间是否在预设时间范围内;其中,若所述cookie标志信息的生成时间在预设时间范围内,根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址;若所述cookie标志信息的生成时间不在预设时间范围内,则重新生成访问请求,并返回所述控制负载均衡设备启动均衡配置,以将所述访问请求转发给与所述负载均衡设备相连的其中一个服务器的步骤。

所述cookie标志信息为一个十进制的数值,所述处理器实现所述根据与所述预设生成规则相对应的预设反向规则解析所述cookie标志信息以得到一相应的ip地址,具体实现如下步骤:将十进制的cookie标志信息转换为十六进制的第二中间数值;将所述第二中间数值按顺序依次以两位数字为一个字节进行点分;将点分后的第二中间数值中的每个字节的十六进制数值转换为十进制数值;将所述转换后的第二中间数值中的所有字节进行逆向排序,以得到一相应的ip地址。

所述处理器实现所述根据预设生成规则以及所述服务器的ip地址,生成相应的cookie标志信息,具体实现如下步骤:获取所述其中一个服务器的ip地址,其中,所述ip地址包括四个字节;将ip地址中的每个字节的十进制数值转换成十六进制数值;对转换后的ip地址的所有字节进行逆序排列后去除点分,以得到一个无点分的十六进制的第一中间数值;将所述十六进制的第一中间数值转换为十进制的目标数值,其中,所述目标数值即为cookie标识信息。

本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等各种可以存储程序代码的介质。

本发明所有实施例中的单元可以通过通用集成电路,例如cpu(centralprocessingunit,中央处理器),或通过asic(applicationspecificintegratedcircuit,专用集成电路)来实现。

本发明实施例会话保持方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本发明实施例会话保持装置中的单元可以根据实际需要进行合并、划分和删减。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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