CN103220165B - 一种服务器主动宕机的处理方法和装置 - Google Patents
一种服务器主动宕机的处理方法和装置 Download PDFInfo
- Publication number
- CN103220165B CN103220165B CN201310090398.8A CN201310090398A CN103220165B CN 103220165 B CN103220165 B CN 103220165B CN 201310090398 A CN201310090398 A CN 201310090398A CN 103220165 B CN103220165 B CN 103220165B
- Authority
- CN
- China
- Prior art keywords
- user
- machine
- server
- online
- delaying
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种服务器主动宕机的处理方法和装置,应用于集群系统内部的服务器上,处理流程包括:A、在宕机前发送本机的用户在线信息给集群内其他服务器;B、接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库;C、接收用户的访问请求,获取该用户的在线信息,继续为该用户提供服务。通过本发明的技术方案,有效解决了现有技术中当服务器主动宕机时,造成用户下线或者对用户在线统计数据如计费等信息统计不准确的问题。
Description
技术领域
本发明涉及集群服务器系统,尤其涉及一种集群内服务器主动宕机时用户能够正常上线的处理方法和装置。
背景技术
随着网络技术的发展,企业内部有越来越多的用户接入网络,为了能够提高网络服务质量、更快地处理用户的上线请求,集群系统应运而生。集群系统指的是多台服务器构成一个服务器集合,系统中的每一个服务器都有平等的地位,都可以单独地处理用户上线的请求,同时对外只有一个虚拟的IP地址,所有用户只要链接这个虚拟IP地址就可以了,因此对用户来说,整个集群系统就相当于一台服务器。使用集群系统的好处是:对于用户来讲,每次上线链接的是相同的服务器IP地址,使用方便。另外,由于集群系统内部有多台服务器,所以对单台服务器的性能要求不高,同时该系统具有负载均衡的功能,能够将用户分配到较为空闲的服务器上,这样就可以提升整个网络的服务质量,进而提高网络支持的用户数量。当用户请求到达集群系统时,请求会被分配到某台服务器上并且在一次用户在线的过程中用户总是同这台服务器进行交互。但是当这台服务器由于升级等原因主动宕机的时候,就有可能会造成用户下线或者对用户在线统计数据如计费等信息统计不准确的情况。
发明内容
有鉴于此,本发明提供一种服务器主动宕机的处理方法和装置,以解决现有技术存在的不足。
具体地,所述方法应用于集群系统内部的服务器上,包括以下步骤:
A、在宕机前发送本机的用户在线信息给集群内其他服务器;
B、接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库;
C、接收用户的访问请求,获取该用户的在线信息,继续为该用户提供服务。
所述装置包括:
宕机处理模块,用于在宕机前发送本机的用户在线信息给集群内其他服务器;
宕机协调模块,用于接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库;
业务处理模块,用于接收用户的访问请求,获取该用户的在线信息,继续为该用户提供服务。
由以上技术方案可见,本发明通过将在线用户信息转到其他可能提供服务的服务器上,进而确保服务器主动宕机后实现用户正常在线。
附图说明
图1是本发明一种实施方式中的服务器主动宕机的处理方法流程图;
图2是本发明一种实施方式中的服务器主动宕机的处理装置的系统结构图;
图3是发明一种实施方式中的报文格式图。
具体实施方式
本发明提供一种服务器主动宕机的处理方法和装置,应用在集群系统内实现服务器主动宕机时用户仍然能够正常在线。为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
请参考图1和图2,在本发明一种优选的实施方式中,所述装置包括:宕机处理模块、宕机协调模块以及业务处理模块。其中该装置运行在集群系统的服务器上时执行如下处理流程:
步骤101,宕机处理模块在本机需要主动宕机的时候发送宕机请求给集群内其他服务器。
集群内的服务器往往会因为升级、打补丁等原因需要主动宕机。如果不做任何处理就宕机的话,可能会造成用户下线或者对用户在线数据等信息统计不准确的情况,影响用户体验。所以本发明中在本机主动宕机之前需要通过宕机处理模块发送宕机请求给集群内其他正常状态的服务器并等待响应,其主要目标是后续能够利用其它服务器的处理资源来接管自身的业务服务,让已经在线的用户感知不到集群系统中本服务器宕机这一服务变化。
步骤102,宕机处理模块判断是否接收到集群内其他服务器的响应。如果是,转步骤103,否则,宕机处理模块重新发送宕机请求给没有响应的服务器,直到集群系统内所有服务器全部响应或达到超时条件。
当宕机处理模接收到来自其他服务器的回应后,这就表明其能够与其他服务器正常通信,且其他服务器也已经做好了接收本服务器上在线用户相关信息的准备工作了。反之,如果宕机处理模块在预定时间内没有接收到其他服务器的响应,表明与其他服务器之间暂时不能正常通信,此时,需要重新发送宕机请求给没有响应的服务器,以确保集群系统内所有正常状态的服务器全部响应。如果在预定发送请求次数内(或者说满足一个预定的超时条件了),仍然没有收到其他服务器的响应,则认为该其他服务器存在故障或者说与其他服务器之间的网络连接存在故障,后续不再需要向其更新本机上在线用户的相关信息了。
步骤103,宕机处理模块发送本机数据库中所有在线用户的在线信息给集群内其他服务器。
服务器宕机后,为确保在其上连接的在线用户能够继续维持在正常的在线状态,需要将所有在线用户转给其他服务器来接管,这些在线用户对其他服务器而言是待接管在线用户。本步骤中,宕机处理模块将本机数据库中所有与本机连接的用户在线信息导出来到一种通用的数据格式中,比如xml格式,示例如下:
所述用户在线信息包括用户ID、服务ID、接入开始时间、用户IP、用户MAC、流入流量、流出流量、计费更新时间等一切用户在线的相关信息。然后将所述用户在线信息发送给集群内部其他一切正常状态下的服务器,并等待响应。
步骤104,宕机协调模块接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库,并将该些用户标记为待接管在线用户。
服务器上的在线用户分为待接管状态的在线用户和正常状态的在线用户。在一种优选的实施方式中,可以在用户在线信息前做标注,比方说,在待接管在线用户前标注1,对应正常状态的用户在线信息前无标注,以此区分。
步骤105,宕机协调模块更新完本机的数据库后发送更新完毕的消息给需要主动宕机的服务器。
步骤106,需要主动宕机的服务器的宕机处理模块接收到其他服务器发送的所述更新完毕的消息后执行宕机。
上述步骤101中,需要宕机的服务器发送的宕机请求同样也可以被集群系统的负载均衡设备收到,负载均衡设备可以删除其上的在线用户(也就是待接管在线用户)与该服务器的对应关系。此时除了需要宕机的服务器之外,集群内其他正在提供服务的服务器都有相同的待接管在线用户。当某个待接管在线用户继续访问集群系统来获得对应的服务时,集群系统中的负载均衡设备可以选择任意一个正常状态的服务器为一个待接管在线用户继续提供服务,然后建立该用户与该服务器的对应关系。当待接管在线用户在某台服务器上重新连接成功获得对应服务时,该用户便由待接管的状态转变成正常状态。如果该用户继续访问,由于负载均衡设备此前建立了该用户与该服务器的对应关系,因此正常情况下,该用户的访问请求会持续将被分配到该服务器上,而不会分配到其他服务器。为了确保能为用户提供持续有效的服务,所以就要求某个服务器主动宕机后,其他所有正常状态的服务器内都应该存有所述宕机服务器的用户在线信息,以便响应客户的请求。所以步骤106中,宕机处理模块理论上是需要接收到集群系统内所有正常状态的服务器发送的更新完毕消息后才能执行宕机。但在实际应用中,会发生某台服务器突然故障或者断线的情况,这时该服务器就不能够及时发送更新完毕的消息,所以同步骤102,在一种优选的实施方式中,步骤106中也设置有超时条件。宕机处理模块如果在预设的时间内没有接收到某台服务器更新完毕的消息,那么返回步骤103重新发送用户在线信息,如果在预定的发送请求内,仍然没有接收到所述更新完毕的消息,就会默认该服务器不可用,进而忽略该服务器,执行宕机。
步骤107,业务处理模块接收用户的访问请求,获取用户的在线信息,继续为其提供服务。
值得注意的是,上述步骤101和步骤102并不是必需步骤。宕机处理模块可以先发送宕机请求给其他服务器并等待回应,在某些实现方式中,宕机处理模块也可以不发送宕机请求而是执行步骤103,直接发送用户在线信息。考虑到用户在线信息传输的稳定性和可靠性,在优选的实施方式中,上述方法包括步骤101和步骤102。进一步,考虑到用户在线信息会占据一定的存储空间,因此上述方法还包括对待接管在线用户转为正常在线用户后的处理过程,该过程包括以下步骤:
步骤108,宕机协调模块进一步判断请求访问的用户是否是待接管在线用户。如果是转步骤109,如果否,则不需要特殊处理。
步骤109,宕机协调模块则通知集群系统中其他服务器删除该待接管在线用户并将该待接管在线用户更新为在线用户。
在服务器为待接管用户成功提供服务后,所述待接管用户已由待接管的状态转为正常状态,此时该服务器上要更新用户状态,将待接管在线用户更新为在线用户。同时该用户与该服务器已经建立了交互关系,其他服务器上已经没有必要继续存储该用户在线信息,所以为了节省存储空间,并加快服务器响应客户请求的速度,接管的服务器要通知其他服务器删除其数据库中该用户的在线信息。
上述服务器直接的交互消息可以通过各种协议报文来承载,本领域普通技术人员可以使用私有的协议或者对公有协议加以改进来实现。具体地,在本发明一种实施例中,可以采用图3所示的报文格式。其中,报文标识是固定值,服务器IP地址表示发送报文的服务器IP地址,服务器端口号表示发送报文的服务器端口号,报文ID表示在一个报文的生存期内不能重复,回应报文必须原封不动的返回该ID,报文号表示报文类型。
由以上描述可以看出,本发明实现了当集群内某台服务器需要主动宕机的时候,该服务器上的用户可以继续在线,并保证了在线信息的准确性,提高了用户体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种服务器主动宕机的处理方法,应用于集群系统内部的服务器上,其特征在于,该方法包括以下步骤:
A、在服务器需要主动宕机前发送本机的用户在线信息给集群内其他服务器;
B、接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库;在更新本机数据库时,进一步将这些用户标记为待接管在线用户;
C、接收用户的访问请求,获取该用户的在线信息,继续为该用户提供服务;判断该用户是否为待接管在线用户,如果是则通知集群系统中其他服务器删除该待接管在线用户并在本机上将该待接管在线用户更新为在线用户。
2.根据权利要求1所述的方法,其特征在于,还包括:
D、在接收到其他服务器发送的删除待接管在线用户通知时,从本机数据库中删除该待接管在线用户。
3.根据权利要求1所述的方法,其特征在于,步骤A之前进一步包括:
A1、在宕机前发送宕机请求给集群系统中其他服务器;
A2、接收其他服务器对所述宕机请求的响应;
步骤B之前进一步包括:
B1、接收需要主动宕机的服务器发送的宕机请求;
B2、响应所述宕机请求。
4.根据根据权利要求1所述的方法,其特征在于,该方法还包括:
E、更新完本机的数据库后发送更新完毕的消息给需要主动宕机的服务器;
F、接收到其他服务器的所述更新完毕的消息后执行宕机。
5.一种服务器主动宕机的处理装置,应用于集群系统内部的服务器上,其特征在于,该装置包括:
宕机处理模块,用于在服务器需要主动宕机前发送本机的用户在线信息给集群内其他服务器;宕机协调模块在更新本机数据库时,将该些用户标记为待接管在线用户;
宕机协调模块,用于接收需要主动宕机的服务器发送的用户在线信息,根据所述用户在线信息更新本机数据库;
业务处理模块,用于接收用户的访问请求,获取该用户的在线信息,继续为该用户提供服务;宕机协调模块进一步用于判断访问用户是否为待接管在线用户,如果是则通知集群系统中其他服务器删除该待接管在线用户并在本机上将该待接管在线用户更新为在线用户。
6.根据权利要求5所述的装置,其特征在于,宕机协调模块进一步用于在接收到其他服务器发送的删除待接管在线用户通知时,从本机数据库中删除该待接管用户。
7.根据权利要求5所述的装置,其特征在于,宕机处理模块进一步用于在宕机前发送宕机请求给集群内其他服务器并接收响应;宕机协调模块进一步用于接收需要主动宕机的服务器发送的宕机请求并给予响应。
8.根据权利要求5所述的装置,其特征在于,宕机协调模块进一步用于更新完本机的数据库后发送更新完毕的消息给需要主动宕机的服务器;宕机处理模块进一步用于接收到其他服务器的所述更新完毕的消息后执行宕机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090398.8A CN103220165B (zh) | 2013-03-20 | 2013-03-20 | 一种服务器主动宕机的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310090398.8A CN103220165B (zh) | 2013-03-20 | 2013-03-20 | 一种服务器主动宕机的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103220165A CN103220165A (zh) | 2013-07-24 |
CN103220165B true CN103220165B (zh) | 2017-04-19 |
Family
ID=48817650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310090398.8A Active CN103220165B (zh) | 2013-03-20 | 2013-03-20 | 一种服务器主动宕机的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103220165B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935479A (zh) * | 2015-06-19 | 2015-09-23 | 郑州悉知信息技术有限公司 | 一种服务模块监控方法及系统 |
CN105337996B (zh) * | 2015-11-30 | 2018-08-03 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及系统 |
CN105515839A (zh) * | 2015-11-30 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 用于提升Radius服务性能的系统及方法 |
CN105634932B (zh) * | 2016-03-16 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种消息推送方法、装置、系统和计算机可读存储介质 |
CN106326042B (zh) * | 2016-08-19 | 2020-02-07 | 浪潮(北京)电子信息产业有限公司 | 一种运行状态确定方法及装置 |
CN111327703B (zh) * | 2017-03-28 | 2022-05-31 | 创新先进技术有限公司 | 一种基于区块链的共识方法及装置 |
CN113239020A (zh) * | 2021-06-07 | 2021-08-10 | 中国农业银行股份有限公司 | 数据库分配方法、装置、系统、设备、介质及产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814121A (zh) * | 2010-04-19 | 2010-08-25 | 山东高效能服务器和存储研究院 | 一种预见性虚拟机零宕机ha |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN102404390A (zh) * | 2011-11-07 | 2012-04-04 | 广东电网公司电力科学研究院 | 高速实时数据库的智能化动态负载均衡方法 |
CN102685237A (zh) * | 2012-05-16 | 2012-09-19 | 东南大学 | 一种集群环境下请求会话保持与调度的方法 |
CN102694868A (zh) * | 2012-06-07 | 2012-09-26 | 浪潮电子信息产业股份有限公司 | 一种集群系统实现及任务动态分配方法 |
CN102739775A (zh) * | 2012-05-29 | 2012-10-17 | 宁波东冠科技有限公司 | 物联网数据采集服务器集群的监控和管理方法 |
CN102904949A (zh) * | 2012-10-08 | 2013-01-30 | 华中科技大学 | 一种基于副本的动态元数据集群系统 |
-
2013
- 2013-03-20 CN CN201310090398.8A patent/CN103220165B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814121A (zh) * | 2010-04-19 | 2010-08-25 | 山东高效能服务器和存储研究院 | 一种预见性虚拟机零宕机ha |
CN102215266A (zh) * | 2011-06-20 | 2011-10-12 | 中兴通讯股份有限公司 | 持久化服务的实现方法及持久化服务系统 |
CN102404390A (zh) * | 2011-11-07 | 2012-04-04 | 广东电网公司电力科学研究院 | 高速实时数据库的智能化动态负载均衡方法 |
CN102685237A (zh) * | 2012-05-16 | 2012-09-19 | 东南大学 | 一种集群环境下请求会话保持与调度的方法 |
CN102739775A (zh) * | 2012-05-29 | 2012-10-17 | 宁波东冠科技有限公司 | 物联网数据采集服务器集群的监控和管理方法 |
CN102694868A (zh) * | 2012-06-07 | 2012-09-26 | 浪潮电子信息产业股份有限公司 | 一种集群系统实现及任务动态分配方法 |
CN102904949A (zh) * | 2012-10-08 | 2013-01-30 | 华中科技大学 | 一种基于副本的动态元数据集群系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103220165A (zh) | 2013-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103220165B (zh) | 一种服务器主动宕机的处理方法和装置 | |
US8825867B2 (en) | Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group | |
US20180054478A1 (en) | Virtual application delivery chassis system | |
CN102158386B (zh) | 系统管理程序级的分布式负载平衡 | |
CN103312605A (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
CN106210049B (zh) | 一种基于消息队列的集群通信方法及系统 | |
JP4398354B2 (ja) | 中継システム | |
CN107528891B (zh) | 一种基于WebSocket的自动集群方法及其系统 | |
CN112202918B (zh) | 长连接通信的负载调度方法、装置、设备及存储介质 | |
CN106210058A (zh) | 一种多核并行的反向代理方法 | |
EP4050475A1 (en) | Image forming apparatus, method, and system for firmware upgrade | |
CN106993286A (zh) | 一种无线网中无线接入设备接入云端ac的方法及系统 | |
US9729454B2 (en) | Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections | |
US9674693B2 (en) | State-efficient network function support | |
CN101808037B (zh) | 交换网中流量管理的方法和装置 | |
JP2011203810A (ja) | サーバ、計算機システム及び仮想計算機管理方法 | |
JP2018531553A6 (ja) | 状態効率的ネットワーク機能サポート | |
CN106850273A (zh) | 服务器及其流媒体服务提供方法 | |
CN103118115B (zh) | 面向云计算用户的虚拟机管理方法及装置 | |
KR20120128013A (ko) | 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 | |
CN112788135B (zh) | 资源调度方法、设备及存储介质 | |
EP3435615B1 (en) | Network service implementation method, service controller, and communication system | |
CN104125271B (zh) | 一种应用于可视化数据推送平台的分布式架构方法 | |
CN109347966B (zh) | 一种服务器集群通讯方法及终端设备及通讯服务器 | |
CN102821118A (zh) | 一种具备异构节点的网络中业务备份的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou science and Technology Development Zone, Zhejiang high tech park, No. six and road, No. 310 Patentee before: Huasan Communication Technology Co., Ltd. |