CN106101290B - 一种服务器集群管理的方法及系统 - Google Patents

一种服务器集群管理的方法及系统 Download PDF

Info

Publication number
CN106101290B
CN106101290B CN201610725320.2A CN201610725320A CN106101290B CN 106101290 B CN106101290 B CN 106101290B CN 201610725320 A CN201610725320 A CN 201610725320A CN 106101290 B CN106101290 B CN 106101290B
Authority
CN
China
Prior art keywords
server
last
login
user
session message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610725320.2A
Other languages
English (en)
Other versions
CN106101290A (zh
Inventor
祁冠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Technology Group Co Ltd
Original Assignee
TCL Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TCL Technology Group Co Ltd filed Critical TCL Technology Group Co Ltd
Priority to CN201610725320.2A priority Critical patent/CN106101290B/zh
Publication of CN106101290A publication Critical patent/CN106101290A/zh
Application granted granted Critical
Publication of CN106101290B publication Critical patent/CN106101290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明适用于通信领域,提供了一种服务器集群管理的方法及系统。所述方法包括:当前服务器接收到由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;当判断为否时,基于所述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。本发明实施例中,负载均衡器接收到访问请求时,只负责将该访问请求分配到对应的服务器,由该对应的服务器去获取会话消息,无需负载均衡器去获取会话消息,减轻了负载均衡器的负担。

Description

一种服务器集群管理的方法及系统
技术领域
本发明实施例属于通信领域,尤其涉及一种服务器集群管理的方法及系统。
背景技术
服务器集群是指将多台应用服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器,集群可以用多个服务器做备份,从而使得任何一个机器宕了整个系统还是能正常运行。
Web应用中某一用户的多次请求修改使用的上下文对象称为会话(Session)。单机情况下,Session可以由部署在服务器上的web容器管理。在使用负载均衡的集群环境中,由于负载均衡服务器可能会将请求分发到集群任何一台应用服务器上,所以需要保证每次请求仍然能够获得正确的Session。
现有技术中,负载均衡设备提供了源地址Hash算法,该算法可以根据请求的来源,将同一IP的请求分发到同一服务器上。假设用户从IP1发出的请求被分配到了服务器1,与该用户相关的session数据也保存在了服务器1上。如果该用户从IP2发出请求,负载均衡设备将IP2的访问请求分配到了服务器2,那么用户在Browser2上访问服务器时就会丢失之前在Browser1上保存的会话信息。
惯用的解决办法是:负载均衡设备根据用户标识或者session标识分配请求,但这样负载均衡设备需要进行应用层的解析工作,以获得用户标识或者session标识,不仅增加了每次请求的访问时间,而且负载均衡设备变成了一个和会话内容相关的有状态节点,内存消耗变大,负载均衡设备负担过重。
发明内容
本发明实施例提供了一种服务器集群管理的方法及系统,旨在解决现有的负载均衡设备负担过重的问题。
本发明实施例是这样实现的,一种服务器集群管理的方法,所述方法包括:
当前服务器接收到由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;
基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;
当判断为否时,基于所述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。
优选地,所述当判断为否时,基于所述用户标识获取上一次登录的会话消息具体包括:
判断上一次登录的服务器当前是否处于宕机状态;
当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息;
当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息;
基于所获取的会话消息响应所述用户的访问请求。
优选地,所述判断上一次登录的服务器当前是否处于宕机状态具体为:
判断所述访问请求携带所述上一次登录的服务器当前处于宕机状态的消息时确认所述上一次登录的服务器当前处于宕机状态;或者
所述当前服务器向所述上一次登录的服务器发送获取所述上一次登录的会话消息的请求,当未接收到所述上一次登录的服务器的反馈时确认所述上一次登录的服务器当前处于宕机状态。
优选地,所述当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息具体包括:
当前服务器向日志系统发送获取上一次登录的会话日志的请求,所述请求携带所述用户标识;
接收到所述日志系统基于所述用户标识反馈的所述上一次登录的会话日志;
基于所接收的会话日志重构会话信息。
优选地,所述当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息具体包括:
向所述上一次登录的服务器发送上一次登录的会话消息的请求,所述请求携带所述用户标识;
接收到所述上一次登录的服务器基于所述用户标识反馈的所述上一次登录的会话消息。
优选地,所述当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息具体包括:
向所述上一次登录的服务器发送上一次登录的会话消息的请求,所述请求携带所述用户标识;
接收到所述上一次登录的服务器发送的到数据库获取所述上一次登录的会话消息的指示;
基于所述指示从所述数据库获取所述上一次登录的会话消息。
优选地,所述基于所述访问请求判断当前服务器是否为用户上一次登录的服务器具体包括:
基于所述用户标识在login表中查询与该用户标识对应的上一次登录信息,所述上一次登录信息包括上一次登录的服务器编号;
判断所述上一次登录的服务器编号是否与当前服务器的编号是否一致,当判断为否时,执行基于所述用户标识获取上一次登录的会话消息的步骤。
优选地,所述当前服务器接收到由负载均衡器转发的用户的访问请求之前还包括:接收到用户访问的指令,所述指令包括访问请求及服务IP;
负载均衡器基于所述服务IP及哈希算法计算出分配的当前服务器,并将所述访问请求发送给所述当前服务器。
本发明实施例的另一目的在于提供一种服务器集群管理的系统,所述系统包括当前服务器,所述当前服务器包括:
接收模块,用于接收由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;
判断模块,用于基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;
获取模块,用于当判断为否时,基于所述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。
优选地,所述获取模块具体包括:
状态判断单元,用于判断上一次登录的服务器当前是否处于宕机状态;
第一获取单元,用于当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息;
第二获取单元,用于当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息;
响应单元,用于基于所获取的会话消息响应所述用户的访问请求。
在本发明实施例中,负载均衡器接收到访问请求时,只负责将该访问请求分配到对应的服务器,由该对应的服务器去获取会话消息,无需负载均衡器去获取会话消息,减轻了负载均衡器的负担。
附图说明
图1是本发明第一实施例提供的一种服务器集群管理的方法的流程图;
图2是本发明第一实施例提供的一种服务器集群管理的方法的步骤S2的具体流程图;
图3是本发明第一实施例提供的一种服务器集群管理的方法的步骤S3的具体流程图;
图4是本发明第一实施例提供的一种服务器集群管理的方法的步骤S32的具体流程图
图5是本发明第一实施例提供的一种服务器集群管理的方法的步骤S33的具体流程图
图6是本发明第二实施例提供的一种服务器集群管理的系统的结构图;
图7是本发明第二实施例提供的一种服务器集群管理的当前服务器的具体结构图;
图8是本发明第二实施例提供的一种服务器集群管理的系统的当前服务器的判断模块2的具体结构图;
图9是本发明第二实施例提供的一种服务器集群管理的系统的当前服务器的获取模块3的具体结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,当前服务器接收到由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;当判断为否时,基于所述用户标识获取上一次登录的会话消息。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种服务器集群管理的方法的流程图,详述如下:
步骤S1,当前服务器接收到由负载均衡器转发的用户的访问请求,该访问请求携带用户标识;
步骤S2,基于该访问请求判断当前服务器是否为用户上一次登录的服务器,当判断为是时,不作处理,结束流程,当判读为否时,转到步骤S3;
步骤S3,基于上述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。
具体地,当前服务器接收到访问请求时,首先需要判断该用户上一次登录是否在本服务器进行,当上一次登录也是在本服务器时,不作处理,当上一次登录不是本服务器,则需要获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。
在本实施例的一个优选方案中,所述步骤S1之前还可包括:
接收到用户访问的指令,所述指令包括访问请求及服务IP;
负载均衡器基于所述服务IP及哈希算法计算出分配的当前服务器,并将所述访问请求发送给所述当前服务器。
具体地,用户访问WEB服务器时,负载均衡器接收到用户访问的指令,该指令包括访问请求及服务IP(源地址),负载均衡器根据该源地址结合哈希算法计算出请求的服务器,例如:当前与负载均衡器连接的服务器有三台(分别标为:服务器1、服务器2及服务器3),服务IP为192.168.1.1,计算此IP的值为:192*256*256*256+168*256*256+1*256+1,计算结果为3,232,235,777,对三取模为2,此时请求的服务器为服务器2。
在本实施例的一个优选方案中,如图2所示,为本发明第一实施例提供的一种服务器集群管理的方法的步骤S2的具体流程图;上述步骤S2具体包括:
步骤S21,基于该用户标识在login表中查询与该用户标识对应的上一次登录信息,该上一次登录信息包括上一次登录的服务器编号;
步骤S22,判断上一次登录的服务器编号是否与当前服务器的编号是否一致,当判断为否时,执行基于用户标识获取上一次登录的会话消息的步骤,当判断为否是,不进行处理,结束流程。
本实施例中,访问请求中携带用户标识,该用户标识无特殊意义,可用来标识用户即可,可为用户名、数字、各种识别码,此处对此不作限制。当前服务器根据访问请求中携带的用户标识在数据库中的login表中查询与该用户标识对应的上一次登录的服务器编号、登录时间等信息。其中,该数据库连接所有服务器,所有服务器均可访问该数据库,服务器可在数据库写入访问及会话信息、会话日志等,该login表存在于该数据库中,该login表存储有每一个用户标识及对应的每一次登录的时间、登录服务器编号及对话日志等。当前服务器将从login表中查询到的上一次登录的服务器编号与自身的编号进行比较,当二者一致时,说明上一次登录的服务器为当前服务器,则不进行后续处理,结束流程,而当二者不一致时,说明上一次登录的服务器不是当前服务器,则需要转到步骤S3,获取上一次登录的会话消息。
在本实施例的进一步优选方案中,如图3所示,为本发明第一实施例提供的一种服务器集群管理的方法的步骤S3的具体流程图;上述步骤S3具体包括:
步骤S31,判断上一次登录的服务器当前是否处于宕机状态,当判断为是时,转到步骤S32,否则转到步骤S33;
具体地,可通过以下两种方法判断上一次登录的服务器当前是否处于宕机状态:
判断访问请求携带所述上一次登录的服务器当前处于宕机状态的消息时确认所述上一次登录的服务器当前处于宕机状态,本实施例中,所有服务器均在预设时间间隔向负载均衡器发送存活状态,例如隔一秒钟发送一次,当负载均衡器未接收到某个服务器反馈的存活状态消息时,确认该服务器处于宕机状态,当此时负载服务器接收到访问指令时,该负载均衡器计算出需要分配的服务器(即当前服务器)时,还将处于宕机状态的服务器编号等消息发送给该服务器,该服务器接收到访问请求时,若判断上一次登录的服务器不是当前服务器,则需要进一步确认上一次登录的服务器是否当前处于宕机状态,此时若访问请求携带的处于宕机状态的服务器编号为上一次登录的服务器编号时确认上一次登录的服务器当前处于宕机状态。
或者,当前服务器向上一次登录的服务器发送获取上一次登录的会话消息的请求,当未接收到上一次登录的服务器的反馈时确认上一次登录的服务器当前处于宕机状态。
步骤S32,基于用户标识从日志系统获取上一次登录的会话消息,接着转到步骤S34;
其中,由于此时上一次登录的服务器当前处于宕机状态,所以无法从该服务器获取上一次登录的会话消息,此时需要从日志系统获取上一次登录的会话消息。该日志系统与所有服务器均连接,用来保存服务器中发生的所有操作信息,也包括会话日志,该会话日志包括登录时间,登录时长、会话过程、登录服务器的编号等信息,还可包括其他消息,此处对此不作限制。
具体地,如图4所示,为本发明第一实施例提供的一种服务器集群管理的方法的步骤S32的具体流程图;该步骤S32具体包括:
步骤S321,当前服务器向日志系统发送获取上一次登录的会话日志的请求,该请求携带用户标识;
当前服务器需要向日志系统发送获取上一次登录的会话日志的请求,具体地,该日志系统可存储服务器中发生的所有操作信息,该当前服务器具体请求的是在上一次登录时间开始到现在为止的用户的会话相关的日志。
步骤S322,接收日志系统基于用户标识反馈的上一次登录的会话日志;
步骤S323,基于所接收的会话日志重构会话信息。
具体地,当前服务器接收到日志系统反馈的上一次登录的会话日志,例如:日志里记录了用户A在服务器1上的所有操作,2015/11/10 23:00开始登录,23:10加入购物车商品1,23:20加入购物车商品2,那么日志中记录的可能就是:
Server1--2015/11/10 23:00--UserA--Login
Server1--2015/11/10 23:10--UserA--AddCart(Product1)
Server1--2015/11/10 23:20--UserA--AddCart(Product2)
在重构session的时候,首先查出上次登录时间是2015/11/10 23:00,找出这个时间点开始到此刻的所有有关用户A的记录,如果重构的数据是购物车数据,那么查找AddCart方法,找出参数Product1、Product2,可以根据会话日志中保存数据的格式重新构造出一个会话消息,比如{UserA:{cart:[Product1,Product2],Login:2015/11/10 23:10}}
步骤S33,基于用户标识从上一次登录的服务器获取上一次登录的会话消息的请求,接着转到步骤S34。
当上一次登录的服务器当前处于正常(非宕机)运行状态时,当前服务器需要从上一次登录的服务器获取上一次登录的会话消息。
步骤S34,基于所获取的会话消息响应所述用户的访问请求。
具体地,如图5所示,为本发明第一实施例提供的一种服务器集群管理的方法的步骤S33的具体流程图;上述步骤S33具体包括:
步骤S331,向上一次登录的服务器发送上一次登录的会话消息的请求,该请求携带所述用户标识;
步骤S332,接收到上一次登录的服务器基于用户标识反馈的上一次登录的会话消息。
具体地,当前服务器向该上一次登录的服务器发送获取上一次登录的会话消息的请求,该请求携带用户标识。上一次登录的服务器接收到该请求时,将该用户标识对应的上一次登录的会话消息直接发送给当前服务器。
在本实施例的一个变形方案中,所述上一次登录的服务器不直接将上一次登录的会话消息发送给当前服务器,而是将该会话消息写入数据库,并向当前服务器发送到数据库获取上一次登录的会话消息的指示,之后删除其内存中存储的上一次登录的会话消息。该当前服务器根据该指示从数据库中获取上一次登录的会话消息,然后更新login表中的登录服务器编号和登录时间,进行会话同步化。
本发明实施例中,负载均衡器接收到访问请求时,只负责将该访问请求分配到对应的服务器,由该对应的服务器去获取会话消息,无需负载均衡器去获取会话消息,减轻了负载均衡器的负担。
此外,日志系统实时记录每一个服务器的操作情况,当上一次登录的服务器当前处于宕机状态时,当前服务器可到日志系统去获取上一次登录的会话日志,根据会话日志来重构上一次登录的会话消息,可避免某个服务器突然宕机时会话数据的丢失。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二:
图6示出了本发明第二实施例提供的一种服务器集群管理的系统的结构图,该系统包括若干浏览器、若干服务器、日志系统、负载均衡器、数据库等,若干服务器包括当前服务器。用户基于浏览器输入访问指令,均衡器接收到访问指令后分配服务器。
如图7所示,为本发明第二实施例提供的一种服务器集群管理的当前服务器的结构图;该当前服务器包括:接收模块1、与接收模块1连接的判断模块2、与判断模块2连接的获取模块3,其中:
接收模块1,用于接收由负载均衡器转发的用户的访问请求,访问请求携带用户标识;
判断模块2,用于基于访问请求判断当前服务器是否为用户上一次登录的服务器;
获取模块3,用于当判断为否时,基于用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求。
具体地,当前接收模块1接收到访问请求时,判断模块2需要判断该用户上一次登录是否在本服务器进行,当上一次登录也是在本服务器时,不作处理,当上一次登录不是本服务器,则通过获取模块3获取上一次登录的会话消息。
在本实施例的一个优选方案中,上述系统还包括:负载均衡器;
负载均衡器用于接收到用户访问的指令,并基于服务IP及哈希算法计算出分配的当前服务器,且将访问请求发送给当前服务器。
具体地,该指令包括访问请求及服务IP;用户访问WEB服务器时,负载均衡器接收到用户访问的指令,该指令包括访问请求及服务IP(源地址),负载均衡器根据该源地址结合哈希算法计算出请求的服务器,例如:当前与负载均衡器连接的服务器有三台(分别标为:服务器1、服务器2及服务器3),服务IP为192.168.1.1,计算此IP的值为:192*256*256*256+168*256*256+1*256+1,计算结果为3,232,235,777,对三取模为2,此时请求的服务器为服务器2。
优选地,如图8所示,上述判断模块2具体包括:查询单元21,与该查询单元21连接的服务器判断单元22,其中:
查询单元21,用于基于该用户标识在login表中查询与该用户标识对应的上一次登录信息,该上一次登录信息包括上一次登录的服务器编号;
服务器判断单元22,用于判断上一次登录的服务器编号是否与当前服务器的编号是否一致,当判断为否时,执行基于用户标识获取上一次登录的会话消息的步骤,当判断为否是,不进行处理,结束流程。
本实施例中,访问请求中携带用户标识,该用户标识无特殊意义,可用来标识用户即可,可为用户名、数字、各种识别码,此处对此不作限制。当前服务器根据访问请求中携带的用户标识在数据库中的login表中查询与该用户标识对应的上一次登录的服务器编号、登录时间等信息。其中,该数据库也属于本实施例的服务器集群管理系统的一部分,该数据库连接所有服务器,所有服务器均可访问该数据库,服务器可在数据库写入访问及会话信息、会话日志等,该login表存在于该数据库中,该login表存储有每一个用户标识及对应的每一次登录的时间、登录服务器编号及对话日志等。当前服务器将从login表中查询到的上一次登录的服务器编号与自身的编号进行比较,当二者一致时,说明上一次登录的服务器为当前服务器,则不进行后续处理,结束流程,而当二者不一致时,说明上一次登录的服务器不是当前服务器,则需要反馈给获取模块3,便于该获取模块3获取上一次登录的会话消息。
进一步优选地,如图9所示,为本发明第二实施例提供的一种服务器集群管理的系统的当前服务器的获取模块3的具体结构图。该获取模块3具体包括:状态判断单元31及与其连接的第一获取单元32、第二获取单元33及与该第一获取单元32及第二获取单元33连接的响应单元34,其中:
状态判断单元31,判断上一次登录的服务器当前是否处于宕机状态,当判断为是时,向第一获取单元32反馈,当判断为否时,向第二获取单元33反馈。
本实施例中,可通过以下两种方法判断上一次登录的服务器当前是否处于宕机状态:
状态判断单元31判断访问请求携带所述上一次登录的服务器当前处于宕机状态的消息时确认所述上一次登录的服务器当前处于宕机状态,本实施例中,所有服务器均在预设时间间隔向负载均衡器发送存活状态,例如隔一秒钟发送一次,当负载均衡器未接收到某个服务器反馈的存活状态消息时,确认该服务器处于宕机状态,当此时负载服务器接收到访问指令时,该负载均衡器计算出需要分配的服务器(即当前服务器)时,还将处于宕机状态的服务器编号等消息发送给该服务器,该服务器接收到访问请求时,若判断上一次登录的服务器不是当前服务器,则需要进一步确认上一次登录的服务器是否当前处于宕机状态,此时若访问请求携带的处于宕机状态的服务器编号为上一次登录的服务器编号时确认上一次登录的服务器当前处于宕机状态。
或者,状态判断单元31向上一次登录的服务器发送获取上一次登录的会话消息的请求,当未接收到上一次登录的服务器的反馈时确认上一次登录的服务器当前处于宕机状态。
第一获取单元32,用于基于用户标识从日志系统获取上一次登录的会话消息;
其中,由于此时上一次登录的服务器当前处于宕机状态,所以无法从该服务器获取上一次登录的会话消息,此时需要从日志系统获取上一次登录的会话消息。该日志系统与所有服务器均连接,用来保存服务器中发生的所有操作信息,也包括会话日志,该会话日志包括登录时间,登录时长、会话过程、登录服务器的编号等信息,还可包括其他消息,此处对此不作限制。
具体地,该第一获取单元32具体包括:会话日志请求子单元、与该会话日志请求子单元连接的会话日志接收子单元、与会话日志接收子单元连接的重构子单元,其中:
会话日志接收子单元,用于接收日志系统基于用户标识反馈的上一次登录的会话日志;
重构子单元,用于基于所接收的会话日志重构会话信息。
具体地,当前服务器接收到日志系统反馈的上一次登录的会话日志,例如:日志里记录了用户A在服务器1上的所有操作,2015/11/10 23:00开始登录,23:10加入购物车商品1,23:20加入购物车商品2,那么日志中记录的可能就是:
Server1--2015/11/10 23:00--UserA--Login
Server1--2015/11/10 23:10--UserA--AddCart(Product1)
Server1--2015/11/10 23:20--UserA--AddCart(Product2)
在重构session的时候,首先查出上次登录时间是2015/11/10 23:00,找出这个时间点开始到此刻的所有有关用户A的记录,如果重构的数据是购物车数据,那么查找AddCart方法,找出参数Product1、Product2,可以根据会话日志中保存数据的格式重新构造出一个会话消息,比如{UserA:{cart:[Product1,Product2],Login:2015/11/10 23:10}}
第二获取单元33,用于基于用户标识从上一次登录的服务器获取上一次登录的会话消息的请求。
当上一次登录的服务器当前处于正常(非宕机)运行状态时,当前服务器需要从上一次登录的服务器获取上一次登录的会话消息。
响应单元34,用于基于所获取的会话消息响应所述用户的访问请求。
具体地,该第二获取单元33具体包括:会话消息请求子单元、与该会话消息子单元连接的获取子单元,其中:
会话小子请求子单元,用于向所上一次登录的服务器发送上一次登录的会话消息的请求,该请求携带所述用户标识;
获取子单元,用于接收到上一次登录的服务器基于用户标识反馈的上一次登录的会话消息。
具体地,当前服务器向该上一次登录的服务器发送获取上一次登录的会话消息的请求,该请求携带用户标识。上一次登录的服务器接收到该请求时,将该用户标识对应的上一次登录的会话消息直接发送给当前服务器。
在本实施例的一个变形方案中,上一次登录的服务器不直接将上一次登录的会话消息发送给当前服务器,而是将该会话消息写入数据库,并向当前服务器发送到数据库获取上一次登录的会话消息的指示,之后删除其内存中存储的上一次登录的会话消息。该当前服务器的获取子单元根据该指示从数据库中获取上一次登录的会话消息,然后更新login表中的登录服务器编号和登录时间,进行会话同步化。
本发明实施例中,负载均衡器接收到访问请求时,只负责将该访问请求分配到对应的服务器,由该对应的服务器去获取会话消息,无需负载均衡器去获取会话消息,减轻了负载均衡器的负担。
此外,日志系统实时记录每一个服务器的操作情况,当上一次登录的服务器当前处于宕机状态时,当前服务器可到日志系统去获取上一次登录的会话日志,根据会话日志来重构上一次登录的会话消息,可避免某个服务器突然宕机时会话数据的丢失。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种服务器集群管理的方法,其特征在于,所述方法包括:
当前服务器接收到由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;
基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;
当判断为否时,基于所述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求;
所述当判断为否时,基于所述用户标识获取上一次登录的会话消息具体包括:判断上一次登录的服务器当前是否处于宕机状态;当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息;其中,所述日志系统与所有服务器均连接,用来保存服务器中发生的所有操作信息;基于所获取的会话消息响应所述用户的访问请求;
所述基于所述访问请求判断当前服务器是否为用户上一次登录的服务器具体包括:基于所述用户标识在login表中查询与该用户标识对应的上一次登录信息,所述上一次登录信息包括上一次登录的服务器编号;其中,所述login表存储有每一个用户标识及对应的每一次登录的时间、登录服务器编号及对话日志;判断所述上一次登录的服务器编号是否与当前服务器的编号是否一致,当判断为否时,执行基于所述用户标识获取上一次登录的会话消息的步骤。
2.根据权利要求1所述的方法,其特征在于,所述当判断为否时,基于所述用户标识获取上一次登录的会话消息还包括:
当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息。
3.根据权利要求2所述的方法,其特征在于,所述判断上一次登录的服务器当前是否处于宕机状态具体为:
判断所述访问请求携带所述上一次登录的服务器当前处于宕机状态的消息时,确认所述上一次登录的服务器当前处于宕机状态;或者
所述当前服务器向所述上一次登录的服务器发送获取所述上一次登录的会话消息的请求,当未接收到所述上一次登录的服务器的反馈时确认所述上一次登录的服务器当前处于宕机状态。
4.根据权利要求2所述的方法,其特征在于,所述当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息具体包括:
当前服务器向日志系统发送获取上一次登录的会话日志的请求,所述请求携带所述用户标识;
接收到所述日志系统基于所述用户标识反馈的所述上一次登录的会话日志;
基于所接收的会话日志重构会话信息。
5.根据权利要求2所述的方法,其特征在于,所述当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息具体包括:
向所述上一次登录的服务器发送上一次登录的会话消息的请求,所述请求携带所述用户标识;
接收到所述上一次登录的服务器基于所述用户标识反馈的所述上一次登录的会话消息。
6.根据权利要求2所述的方法,其特征在于,所述当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息具体包括:
向所述上一次登录的服务器发送上一次登录的会话消息的请求,所述请求携带所述用户标识;
接收到所述上一次登录的服务器发送的到数据库获取所述上一次登录的会话消息的指示;
基于所述指示从所述数据库获取所述上一次登录的会话消息。
7.根据权利要求1所述的方法,其特征在于,所述当前服务器接收到由负载均衡器转发的用户的访问请求之前还包括:
接收到用户访问的指令,所述指令包括访问请求及服务IP;
负载均衡器基于所述服务IP及哈希算法计算出分配的当前服务器,并将所述访问请求发送给所述当前服务器。
8.一种服务器集群管理的系统,所述系统包括当前服务器,其特征在于,所述当前服务器包括:
接收模块,用于接收由负载均衡器转发的用户的访问请求,所述访问请求携带用户标识;
判断模块,用于基于所述访问请求判断当前服务器是否为用户上一次登录的服务器;
获取模块,用于当判断为否时,基于所述用户标识获取上一次登录的会话消息,并基于所获取的会话消息响应所述用户的访问请求;
所述获取模块具体包括:
状态判断单元,用于判断上一次登录的服务器当前是否处于宕机状态;
第一获取单元,用于当判断为是时,基于所述用户标识从日志系统获取所述上一次登录的会话消息;其中,所述日志系统与所有服务器均连接,用来保存服务器中发生的所有操作信息;
响应单元,用于基于所获取的会话消息响应所述用户的访问请求;
所述判断模块,具体包括:
查询单元,基于所述用户标识在login表中查询与该用户标识对应的上一次登录信息,所述上一次登录信息包括上一次登录的服务器编号;其中,所述login表存储有每一个用户标识及对应的每一次登录的时间、登录服务器编号及对话日志;
服务器判断单元,判断所述上一次登录的服务器编号是否与当前服务器的编号是否一致,当判断为否时,执行所述获取模块中基于用户标识获取上一次登录的会话消息的步骤。
9.根据权利要求8所述的系统,其特征在于,所述获取模块还包括:
第二获取单元,用于当判断为否时,基于所述用户标识从所述上一次登录的服务器获取所述上一次登录的会话消息。
CN201610725320.2A 2016-08-25 2016-08-25 一种服务器集群管理的方法及系统 Active CN106101290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610725320.2A CN106101290B (zh) 2016-08-25 2016-08-25 一种服务器集群管理的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610725320.2A CN106101290B (zh) 2016-08-25 2016-08-25 一种服务器集群管理的方法及系统

Publications (2)

Publication Number Publication Date
CN106101290A CN106101290A (zh) 2016-11-09
CN106101290B true CN106101290B (zh) 2020-12-11

Family

ID=57225982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610725320.2A Active CN106101290B (zh) 2016-08-25 2016-08-25 一种服务器集群管理的方法及系统

Country Status (1)

Country Link
CN (1) CN106101290B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123983B (zh) * 2016-11-30 2021-01-26 深圳联友科技有限公司 一种亲缘性负载集群的缓存处理方法及系统
CN106951456B (zh) * 2017-02-24 2020-03-17 广东广信通信服务有限公司 一种内存数据库系统及数据处理系统
CN107070989A (zh) * 2017-03-06 2017-08-18 北京潘达互娱科技有限公司 通信方法和系统
CN107295086B (zh) * 2017-06-28 2020-06-09 杭州云英网络科技有限公司 集群会话防丢失方法及系统
CN107809342A (zh) * 2017-12-13 2018-03-16 深圳市智物联网络有限公司 一种负载均衡方法及负载均衡装置
CN109729139A (zh) * 2018-06-15 2019-05-07 平安普惠企业管理有限公司 访问请求转发方法、装置、设备及可读存储介质
CN110620702B (zh) * 2019-09-19 2021-06-01 聚好看科技股份有限公司 服务器的压力检测方法、装置及系统
CN110839084B (zh) * 2019-11-19 2022-04-05 中国建设银行股份有限公司 会话管理方法、装置、设备和介质
CN114285643A (zh) * 2021-12-24 2022-04-05 北京京东振世信息技术有限公司 访问请求处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207561A (zh) * 2006-12-22 2008-06-25 华为技术有限公司 集群管理器、集群系统、以及集群管理方法
CN102208988A (zh) * 2010-03-29 2011-10-05 华为技术有限公司 消息处理方法、系统及设备
CN103685167A (zh) * 2012-09-06 2014-03-26 阿尔卡特朗讯 一种对ims会话进行管理的方法、装置和设备
CN104811488A (zh) * 2015-04-13 2015-07-29 深信服网络科技(深圳)有限公司 基于负载均衡设备的会话保持方法及系统和负载均衡设备
CN105472002A (zh) * 2015-12-09 2016-04-06 国家电网公司 基于集群节点间即时拷贝的会话同步方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207561A (zh) * 2006-12-22 2008-06-25 华为技术有限公司 集群管理器、集群系统、以及集群管理方法
CN102208988A (zh) * 2010-03-29 2011-10-05 华为技术有限公司 消息处理方法、系统及设备
CN103685167A (zh) * 2012-09-06 2014-03-26 阿尔卡特朗讯 一种对ims会话进行管理的方法、装置和设备
CN104811488A (zh) * 2015-04-13 2015-07-29 深信服网络科技(深圳)有限公司 基于负载均衡设备的会话保持方法及系统和负载均衡设备
CN105472002A (zh) * 2015-12-09 2016-04-06 国家电网公司 基于集群节点间即时拷贝的会话同步方法

Also Published As

Publication number Publication date
CN106101290A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN106101290B (zh) 一种服务器集群管理的方法及系统
CN105245373B (zh) 一种容器云平台系统的搭建及运行方法
US7886295B2 (en) Connection manager, method, system and program product for centrally managing computer applications
EP3316544B1 (en) Token generation and authentication method, and authentication server
CN104735098B (zh) 会话信息的控制方法和控制系统
US20070220302A1 (en) Session failover management in a high-availability server cluster environment
CN104767716B (zh) 业务请求处理方法及装置
CN107947960A (zh) 配置信息的推送方法及系统、配置信息的接收方法及系统
CN105450705B (zh) 业务数据处理方法及设备
US20160373373A1 (en) Connection redistribution in load-balanced systems
US9608831B2 (en) Migrating a chat message service provided by a chat server to a new chat server
CN101605108A (zh) 一种即时通信的方法、系统及装置
CN108055314A (zh) 一种集群系统的管理方法与集群系统
CN106921721A (zh) 一种服务器、会话管理方法和系统
CN108989359A (zh) 服务器集群的验证登录方法及系统、可读存储介质和终端
CN107579924A (zh) 一种流量调拨方法和装置
CN109150936A (zh) 一种分布式集群中会话对象Session的共享方法及装置
CN107547512B (zh) 一种多级云平台中的用户认证方法和装置
CN107395687B (zh) 设备的监控方法、装置、系统和空调
CN112492022A (zh) 提高数据库可用性的集群、方法、系统及存储介质
CN106911769B (zh) 云平台路由数据的处理方法和云平台的物理服务器
CN114422331B (zh) 容灾切换方法、装置及系统
CN105681266B (zh) 一种多媒体电话MMTel的通讯集群方法及装置
CN110661851A (zh) 数据交换方法和装置
CN110049522B (zh) 工作模式的切换方法、装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 516006 TCL technology building, No.17, Huifeng Third Road, Zhongkai high tech Zone, Huizhou City, Guangdong Province

Applicant after: TCL Technology Group Co.,Ltd.

Address before: 516006 Guangdong province Huizhou Zhongkai hi tech Development Zone No. nineteen District

Applicant before: TCL RESEARCH AMERICA Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant