一种会话保持方法、装置、存储介质和处理器与流程

文档序号:18471607发布日期:2019-08-20 20:21阅读:242来源:国知局
一种会话保持方法、装置、存储介质和处理器与流程

本发明涉及通信技术领域,具体而言,涉及一种会话保持方法、装置、存储介质和处理器。



背景技术:

目前,现有技术中的负载均衡系统仅支持ipv4单协议栈或ipv6单协议栈的会话保持,即,当客户端使用某一种单协议栈时,经由相应的单协议栈负载均衡系统对多个服务器进行负载均衡选择出空闲的服务器作为客户端的对应服务器从而进行会话保持,比如,如果客户端的会话始终在ipv4协议栈进行,客户端将ipv4数据传输包发送给ipv4负载均衡系统选择合适的服务器进行会话保持;如果客户端的会话始终在ipv6协议栈进行,客户端将ipv6数据传输包发送给ipv6负载均衡系统选择合适的服务器进行会话保持;

但是网络环境经常存在ipv4和ipv6双协议栈之间进行切换的情况,比如,用户在高铁等网络环境不稳定的情况,现有技术只能在单协议栈实现会话保持,如果发生了用户客户端在ipv4网络与ipv6网络之间的切换,则应用服务系统接收到的客户端的源地址也会在ipv4与ipv6地址之间切换,现有技术的负载均衡系统无法实现用户的会话保持功能。

针对现有技术无法解决在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种会话保持方法、装置、存储介质和处理器,以解决现有技术无法在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题。

根据本发明实施例的一个方面,提供了一种会话保持方法,包括:当客户端所使用的原协议发生变化的情况下,将客户端发出的第一ip数据进行协议转换,其中,所述第一ip数据是所述客户端使用变化协议时所对应的ip数据,所述变化协议是与所述客户端使用的原协议不一致的协议,所述客户端使用的原协议与所述原服务器所使用的协议一致,所述原服务器是所述客户端在使用原协议时进行负载均衡所分配的服务器;将经过协议转换后转换系统所发出的第二ip数据与所述客户端使用原协议所发出的第三ip数据经过同一负载均衡系统进行负载均衡;将经过负载均衡后的ip数据发送给原服务器进行会话保持。

进一步地,所述第一ip数据中包含会话保持信息,所述会话保持信息用来标识客户端使用的原协议所对应的原服务器。

进一步地,将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据一同进行负载均衡包括:根据所述会话保持信息将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据经过同一负载均衡系统进行负载均衡。

进一步地,所述变化协议包括:ipv4协议或ipv6协议。

进一步地,所述原协议包括:ipv4协议或ipv6协议。

进一步地,所述会话保持信息包括:httpcookie或sessionid。

根据本发明实施例的另一方面,还提供了一种会话保持装置,包括:协议转换系统,用于将客户端发出的第一ip数据进行协议转换,其中,所述第一ip数据是所述客户端使用变化协议时所对应的ip数据,所述变化协议是与所述客户端使用的原协议不一致的协议,所述客户端使用的原协议与所述原服务器所使用的协议一致,所述原服务器是所述客户端在使用原协议时由负载均衡系统所分配的服务器;负载均衡系统,用于将经过协议转换后转换系统所发出的第二ip数据与所述客户端使用原协议所发出的第三ip数据都在该负载均衡系统进行负载均衡后发送给原服务器进行会话保持。

进一步地,所述会话保持装置还包括:会话信息保持模块,用于根据所述会话保持信息将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据经过同一负载均衡系统进行负载均衡,所述会话保持信息用来标识客户端使用的原协议所对应的原服务器。

根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。

根据本发明实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。

根据本发明实施例,采用了当客户端所使用的原协议发生变化的情况下,将客户端发出的第一ip数据进行协议转换,其中,所述第一ip数据是所述客户端使用变化协议时所对应的ip数据,所述变化协议是与所述客户端使用的原协议不一致的协议,所述客户端使用的原协议与所述原服务器所使用的协议一致,所述原服务器是所述客户端在使用原协议时进行负载均衡所分配的服务器;将经过协议转换后转换系统所发出的第二ip数据与所述客户端使用原协议所发出的第三ip数据经过同一负载均衡系统进行负载均衡;将经过负载均衡后的ip数据发送给原服务器进行会话保持的方案,通过本发明解决了现有技术无法在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题,使得网络环境在变化的情况下,用户依然可以跟原服务器进行良好的会话保持,不会因为网络环境的改变而付出额外的成本。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种会话保持方法的流程图;

图2是根据本发明实施例的一种可选的会话保持方法的流程图;

图3是根据本发明实施例的一种会话保持装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种会话保持方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种会话保持方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,当客户端所使用的原协议发生变化的情况下,将客户端发出的第一ip数据进行协议转换,其中,所述第一ip数据是所述客户端使用变化协议时所对应的ip数据,所述变化协议是与所述客户端使用的原协议不一致的协议,所述客户端使用的原协议与所述原服务器所使用的协议一致,所述原服务器是所述客户端在使用原协议时进行负载均衡所分配的服务器;

步骤s104,将经过协议转换后转换系统所发出的第二ip数据与所述客户端使用原协议所发出的第三ip数据经过同一负载均衡系统进行负载均衡;

步骤s106,将经过负载均衡后的ip数据发送给原服务器进行会话保持。

上述步骤中的第一ip数据、第二ip数据和第三ip数据可以以数据包的形式进行数据传输。比如,在高铁中客户端先处于ipv6的网络中,客户端发送了10个ipv6协议对应的数据包给服务器,此时,由于网络环境的不稳定等原因,客户端切换到了ipv4网络,客户端接着又发出了ipv4协议对应的5个数据包,这5个数据包经过现有技术中的单协议栈的负载均衡被重新进行分配,导致无法与客户端所分配的原服务器继续保持会话,从而造成会话保持中断,此时,本实施例通过将网络环境中的变化协议进行协议转换使其转变为新的ip数据包再与原协议对应的ip数据包经过同一个负载均衡系统进行会话保持,这与现有技术单协议栈中经过对应的单协议栈负载均衡系统不同,本实施例在不同的网络协议中采用同一套的负载均衡系统,从而解决了现有技术无法在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题,使得网络环境在变化的情况下,用户依然可以跟原服务器进行良好的会话保持,不会因为网络环境的改变而付出额外的成本。

上述步骤中的第一ip数据可以经过协议转化后转变为原协议对应的ip数据,此时需要相同的标识才能保证转化完的ip数据可以发送到与原协议的ip数据有相同标识的服务器中,在一种可选的实施方式中,所述第一ip数据中包含会话保持信息,所述会话保持信息用来标识客户端使用的原协议所对应的原服务器。

将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据经过同一负载均衡系统进行负载均衡需要在第二ip数据和第三ip数据存储相同的会话保持信息实现,该会话保持信息是通过客户端第一次访问服务器时所反馈的会话保持信息,此后,无论网络环境如何变化,该客户端的每一次请求数据包中均包含该会话保持信息,从而便于在网络环境发生变化时依然可以和第一次进行会话保持的服务器继续保持会话,提高会话保持的稳定性,在一种可选的实施方式中,包括:根据所述会话保持信息将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据经过同一负载均衡系统进行负载均衡。

网络环境可能由ipv4网络变为ipv6网络,也可能由ipv6网络变为ipv4网络,在一种可选的实施方式中,所述变化协议包括:ipv4协议或ipv6协议。在一种可选的实施方式中,所述原协议包括:ipv4协议或ipv6协议。例如,当后台的多个服务器工作在ipv4协议栈时,如果来自用户客户端的数据信息属于ipv4协议栈则透传,如果来自用户客户端的数据信息属于ipv6协议栈则将其转换为ipv4协议栈数据信息,即将用户客户端从ipv4和ipv6两个协议栈分别发来的数据信息均作为ipv4协议栈的数据信息进行会话保持。具体地,可以根据在已有的会话保持中某些特定标识或者预设标识实现在转换后发送到统一的ipv4协议栈对应的原服务器中,从而实现会话保持功能。同理,当后台服务器工作在ipv6协议栈时,也采用同样的方法在转换后的统一的ipv6协议栈对应的原服务器中实现会话保持功能。

通过上述实施例可以同时处理ipv4和ipv6服务请求,一旦发生了用户客户端在ipv4网络与ipv6网络之间切换的情况,保证该用户的会话可以继续得到保持。

在ipv4或ipv6单协议栈的环境下,负载均衡设备可以通过cookie、sessionid等客户端的关键字实现对客户端的会话保持,在一种可选的实施方式中,所述会话保持信息包括:httpcookie或sessionid。

下面结合图2以ipv4协议栈为例作为一个可选的实施方式对上述全部会话保持过程进行说明,如图2所示:

服务器采用的是ipv4协议栈,客户端第一次访问服务器有两种情况:当客户端处于ipv4网络和当客户端处于ipv6网络。

当客户端1(如图2中的实线所示)首次使用的网络环境是ipv4网络时,客户端1的请求直接发送到负载均衡系统,负载均衡系统把客户端1的请求发送到对应的服务器a,会话保持信息是对应服务器a在该客户端第一次访问时进行应答时返馈给客户端的应答数据。

同理,当客户端1首次使用ipv6网络访问应用系统时,首先以客户端1的ipv6地址为源地址,协议转换系统的ipv6地址为目的地址,客户端1向协议转换系统的目的ipv6地址发起请求,协议转换系统查找自身ipv6地址(目的ipv6地址)对应的负载均衡系统的ipv4地址,然后用协议转换系统自身的ipv4地址作为源地址,负载均衡设备的ipv4地址作为目的地址,向负载均衡系统发送访问请求,接着由负载均衡系统根据各ipv4服务器的负载状况,把该ipv6请求分发到一个相对空闲的ipv4协议栈服务器上。当服务器a处理完该请求之后,会向负载均衡系统发送一个包含会话保持信息的ipv4应答,负载均衡系统以自身的ipv4地址作为源地址,协议转换系统的ipv4地址作为目的地址,转发应答信息到协议转换系统,协议转换系统以自身的ipv6地址作为源地址,客户端的ipv6地址作为目的地址,把包含会话保持信息的应答数据发送到客户端。

不论第一次访问服务器使用上述哪种网络环境的情况,在以后的访问数据信息中均含有第一次访问时原服务器应答后所返回的会话保持信息。

在客户端1再次通过ipv6网络向服务器发起请求时,请求中就包含了上述会话保持信息,首先客户端以客户端的ipv6地址为源地址,协议转换系统的ipv6地址为目的地址,客户端向协议转换系统发送请求,协议转换系统查找自身ipv6地址对应的负载均衡系统的ipv4地址,并以自身的ipv4地址为源地址,负载均衡系统的ipv4地址为目的地址,转发客户端的请求,负载均衡设备收到客户端的请求之后,根据客户端发送报文中的会话保持信息,把该客户端的请求转发到前一次或第一次处理客户端请求的原服务器a。

如果客户端1由ipv6网络切换到ipv4网络,客户端1的请求直接发送到负载均衡系统,负载均衡系统通过识别客户端1的上述会话保持信息,把客户端1的请求发送到前一次或第一次处理客户端请求对应的原服务器a。

通过以上步骤可以实现客户端在ipv4与ipv6双栈切换情况下的会话保持,而且对原有的负载均衡系统不需要额外改造,只需新增加协议转换系统并使ipv4与ipv6双栈共用一个负载均衡系统即可实现双协议栈下的会话保持,节约成本的同时解决了在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题。

本发明实施例还提供了一种会话保持装置,该装置可以通过协议转换系统32和负载均衡系统34实现其功能。需要说明的是,本发明实施例的一种会话保持装置可以用于执行本发明实施例所提供的一种会话保持方法,本发明实施例的一种会话保持方法也可以通过本发明实施例所提供的一种会话保持装置来执行。

图3是根据本发明实施例的一种会话保持装置的示意图。如图3所示,一种会话保持装置包括:

协议转换系统32,用于将客户端发出的第一ip数据进行协议转换,其中,所述第一ip数据是所述客户端使用变化协议时所对应的ip数据,所述变化协议是与所述客户端使用的原协议不一致的协议,所述客户端使用的原协议与所述原服务器所使用的协议一致,所述原服务器是所述客户端在使用原协议时进行负载均衡所分配的服务器:

负载均衡系统34,用于将经过协议转换后转换系统所发出的第二ip数据与所述客户端使用原协议所发出的第三ip数据都在该负载均衡系统进行负载均衡后发送给原服务器进行会话保持。

上述系统可以同时对ipv4和ipv6两种协议栈进行会话保持,且具备ipv4/ipv6协议转换功能,当客户端在ipv4和ipv6协议栈之间进行切换的时候,通过协议转换系统把两种协议栈的数据包转换为同一协议栈的数据包,再由负载均衡系统统一处理,实现对客户端的会话保持。通过本实施例中的系统,可以同时处理ipv4和ipv6服务请求,并且一旦发生了用户客户端在ipv4网络与ipv6网络之间的切换的情况,该用户的会话可以继续得到保持。从而解决了现有技术无法在ipv4网络与ipv6网络切换的情况下进行会话保持的技术问题,使得网络环境在变化的情况下,用户依然可以跟原服务器进行良好的会话保持,不会因为网络环境的改变而付出额外的成本,简单易行。

上述客户端可以为一个或者多个,在多个客户端的情况下,每个客户端均对应一个预设的会话保持信息。

在一种可选的实施例中,一种会话保持装置还包括:会话信息保持模块,用于根据所述会话保持信息将经过协议转换后转换系统发出的第二ip数据与所述客户端使用原协议发出的第三ip数据经过同一负载均衡系统进行负载均衡,所述会话保持信息用来标识客户端使用的原协议所对应的原服务器。

在本实施例中,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法。

在本实施例中,提供了一种处理器,处理器包括处理器的程序,其中,在程序运行时控制处理器所在设备执行上述方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

上述一种会话保持装置实施例是与一种会话保持方法相对应的,所以对于有益效果不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-oniymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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