CN109697126B - 一种针对服务器的数据处理方法和装置 - Google Patents
一种针对服务器的数据处理方法和装置 Download PDFInfo
- Publication number
- CN109697126B CN109697126B CN201811647955.0A CN201811647955A CN109697126B CN 109697126 B CN109697126 B CN 109697126B CN 201811647955 A CN201811647955 A CN 201811647955A CN 109697126 B CN109697126 B CN 109697126B
- Authority
- CN
- China
- Prior art keywords
- server
- queuing
- information
- state
- client
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种针对服务器的数据处理方法和装置,其中,所述方法包括:接收排队客户端数量信息;根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器;若否,则生成第一排队服务器调用信息,根据第一排队服务器调用信息,将处于休眠状态的排队服务器的运行状态调整为在线状态,与第一排队服务器调用信息对应的排队服务器用于,依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
Description
技术领域
本发明涉及服务器数据处理技术领域,特别是涉及一种针对服务器的数据处理方法和一种针对服务器的数据处理装置。
背景技术
随着科技的发展,互联网影响了人们生活的方方面面,而用户若要通过互联网进行数据传输,需要基于终端设备上的客户端与服务器进行数据交互。
而用户在通过服务器进行数据交互的过程中,若服务器的当前数据处理量过大,则需要对还未进行数据处理的用户进行排队处理,用户则按照排队顺序等待服务器处理其上传的数据或发送的请求,这便是服务器为防止数据过载所设定的排队机制,以保证服务器不会因为数据过载导致服务器崩溃。
在现有技术中,用于对还未进行数据处理的用户进行排队处理的排队服务包含于游戏服务内,当游戏开服时,会有大量的客户端登陆至服务器,这就意味着排队服务器需要具备瞬时负载海量数据的能力,所以在实际应用中,需要提前部署大量的排队服务器,而在不同时期,排队服务器所负载的数据运算量不同,例如,当用户登陆高峰期过去时,已经不需要对用户进行排队处理,则此时大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种针对服务器的数据处理方法和相应的一种针对服务器的数据处理装置。
为了解决上述问题,本发明实施例公开了一种对服务器的数据处理方法,所述方法应用于服务器系统中,所述服务器系统包括:多个排队服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
当所述服务器系统的数据处理状态为排队状态时,接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
当收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;
若否,则生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
其中,所述总控服务器用于根据所述第一排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为所述在线状态;
生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息;
其中,所述与所述第一排队服务器调用信息对应的排队服务器用于,依据所述第一排队请求信息排列所述客户端。
优选地,还包括:
通过所述排队客户端数量信息,判断所述运行状态为所述在线状态的排队服务器中是否具有空闲的排队服务器;
若是,则生成针对所述空闲的排队服务器的排队服务器移除信息,并向所述总控服务器发送所述排队服务器移除信息;
其中,所述总控服务器用于根据所述排队服务器移除信息,将所述空闲的排队服务器的所述运行状态调整为休眠状态。
优选地,在所述接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息的步骤之前,还包括:
获取已提交登陆申请信息且未登陆所述服务器系统的客户端数量,以及,所述运行状态为所述在线状态的排队服务器的荷载量;
判断所述客户端数量是否大于所述荷载量;
若是,则生成第二排队服务器调用信息,并向所述总控服务器发送所述第二排队服务器调用信息;
其中,所述总控服务器用于,根据所述第二排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为在线状态;其中,所述与所述第二排队服务器调用信息对应的排队服务器具有单个或多个对应区段;所述区段具有对应的第一区段序列号;
采用所述登陆申请信息生成针对所述客户端的客户端排列序号;
采用所述客户端排列序号,和,所述第一区段序列号生成针对所述客户端的第二排队请求信息;
向与所述第一区段序列号对应的排队服务器发送所述第二排队请求信息。
优选地,在所述生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息的步骤之前,还包括:
获取与所述第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号;
采用所述登陆申请信息生成针对所述客户端的客户端排列序号。
优选地,所述生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息的步骤包括:
采用所述第二区段序列号,和,所述客户端排列序号生成针对所述客户端的第一排队请求信息;
向与所述第二区段序列号对应的排队服务器发送所述第一排队请求信息。
为了解决上述问题,本发明实施例公开了另一种针对服务器的数据处理方法,所述方法应用于服务器系统中,所述服务器系统包括:多个排队服务器,派发服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
当所述服务器系统的数据处理状态为排队状态时,向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
其中,所述派发服务器用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息,判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器,并在所述运行状态为所述在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
接收由所述派发服务器发送的所述第一排队服务器调用信息;
采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
优选地,还包括:
接收所述派发服务器发送的排队服务器移除信息;
采用所述排队服务器移除信息生成排队服务器移除指令,向所述空闲的排队服务器发送所述排队服务器移除指令。
为了解决上述问题,本发明实施例公开了又一种针对服务器的数据处理方法,所述方法应用于服务器系统中,所述服务器系统包括:总控服务器,派发服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;
若是,则将所述运行状态由所述休眠状态更改为在线状态;
接收由所述派发服务器发送的针对客户端的第一排队请求信息;
依据所述第一排队请求信息排列所述客户端;
生成针对所述客户端的第一排列位置信息;
将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
优选地,还包括:
判断是否接收到由所述总控服务器发送的排队服务器移除指令;
若是,则将所述运行状态由所述在线状态更改为休眠状态。
优选地,还包括:
判断是否有客户端断开链接;
若是,则生成针对所述断开链接的客户端的第二排列位置信息;
将所述第二排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第二排列位置信息更新排队客户端数量信息。
为了解决上述问题,本发明实施例公开了一种针对服务器的数据处理装置,所述装置应用于服务器系统中,所述服务器系统包括:多个排队服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
客户端数量信息接收模块,用于在所述服务器系统的数据处理状态为排队状态时,接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
可用排队服务器判断模块,用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;若否,则调用第一排队服务器调用信息发送模块;
第一排队服务器调用信息发送模块,用于生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
其中,所述总控服务器用于根据所述第一排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为所述在线状态;
第一排队请求信息发送模块,用于生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息;
其中,所述与所述第一排队服务器调用信息对应的排队服务器用于,依据所述第一排队请求信息排列所述客户端。
优选地,还包括:
空闲排队服务器判断模块,用于通过所述排队客户端数量信息,判断所述运行状态为所述在线状态的排队服务器中是否具有空闲的排队服务器;若是,则调用排队服务器移除信息发送模块;
排队服务器移除信息发送模块,用于生成针对所述空闲的排队服务器的排队服务器移除信息,并向所述总控服务器发送所述排队服务器移除信息;
其中,所述总控服务器用于根据所述排队服务器移除信息,将所述空闲的排队服务器的所述运行状态调整为休眠状态。
优选地,还包括:
客户端数量及荷载量获取模块,用于获取已提交登陆申请信息且未登陆所述服务器系统的客户端数量,以及,所述运行状态为所述在线状态的排队服务器的荷载量;
荷载量判断模块,用于判断所述客户端数量是否大于所述荷载量;若是,则调用第二排队服务器调用信息发送模块;
第二排队服务器调用信息发送模块,用于生成第二排队服务器调用信息,并向所述总控服务器发送所述第二排队服务器调用信息;
其中,所述总控服务器用于,根据所述第二排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为在线状态;其中,所述与所述第二排队服务器调用信息对应的排队服务器具有单个或多个对应区段;所述区段具有对应的第一区段序列号;
第一客户端排列序号生成模块,用于采用所述登陆申请信息生成针对所述客户端的客户端排列序号;
第二排队请求信息生成模块,用于采用所述客户端排列序号,和,所述第一区段序列号生成针对所述客户端的第二排队请求信息;
第二排队请求信息发送模块,用于向与所述第一区段序列号对应的排队服务器发送所述第二排队请求信息。
优选地,还包括:
第二区段序列号获取模块,用于获取与所述第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号;
第二客户端排列序号生成模块,用于采用所述登陆申请信息生成针对所述客户端的客户端排列序号。
优选地,所述第一排队请求信息发送模块包括:
第一排队请求信息生成子模块,用于采用所述第二区段序列号,和,所述客户端排列序号生成针对所述客户端的第一排队请求信息;
第一排队请求信息发送子模块,用于向与所述第二区段序列号对应的排队服务器发送所述第一排队请求信息。
为了解决上述问题,本发明实施例公开了另一种针对服务器的数据处理装置,所述装置应用于服务器系统中,所述服务器系统包括:多个排队服务器,派发服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
排队客户端数量信息发送模块,用于在所述服务器系统的数据处理状态为排队状态时,向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
其中,其中,所述派发服务器用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息,判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器,并在所述运行状态为所述在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
第一排队服务器调用信息接收模块,用于接收由所述派发服务器发送的所述第一排队服务器调用信息;
第一排队服务器调用指令发送模块,用于采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
优选地,还包括:
排队服务器移除信息接收模块,用于接收所述派发服务器发送的排队服务器移除信息;
排队服务器移除指令发送模块,用于采用所述排队服务器移除信息生成排队服务器移除指令,向所述空闲的排队服务器发送所述排队服务器移除指令。
为了解决上述问题,本发明实施例公开了又一种针对服务器的数据处理装置,所述装置应用于服务器系统中,所述服务器系统包括:总控服务器,派发服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
第一排队服务器调用指令判断模块,用于判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;若是,则调用第一运行状态更改模块;
第一运行状态更改模块,用于将所述运行状态由所述休眠状态更改为在线状态;
第一排队请求信息接收模块,用于接收由所述派发服务器发送的针对客户端的第一排队请求信息;
客户端排列模块,用于依据所述第一排队请求信息排列所述客户端;
第一排列位置信息生成模块,用于生成针对所述客户端的第一排列位置信息;
第一排列位置信息发送模块,用于将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
优选地,还包括:
排队服务器移除指令接收判断模块,用于判断是否接收到由所述总控服务器发送的排队服务器移除指令;若是,则调用第二运行状态更改模块;
第二运行状态更改模块,用于将所述运行状态由所述在线状态更改为休眠状态。
优选地,还包括:
链接状态判断模块,用于判断是否有客户端断开链接;若是,则调用第二排列位置信息生成模块;
第二排列位置信息生成模块,用于生成针对所述断开链接的客户端的第二排列位置信息;
第二排列位置信息发送模块,用于将所述第二排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第二排列位置信息更新排队客户端数量信息。
本发明实施例包括以下优点:
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
附图说明
图1是本发明实施例一的一种针对服务器的数据处理方法实施例的步骤流程图;
图2是本发明实施例二的一种针对服务器的数据处理方法实施例的步骤流程图;
图3是本发明实施例三的一种针对服务器的数据处理方法实施例的步骤流程图;
图4是本发明实施例四的一种针对服务器的数据处理装置实施例的结构框图;
图5是本发明实施例五的一种针对服务器的数据处理装置实施例的结构框图;
图6是本发明实施例六的一种针对服务器的数据处理装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种针对服务器的数据处理方法实施例的步骤流程图,本实施例基于派发服务器侧进行描述,具体可以包括如下步骤:
步骤101,当所述服务器系统的数据处理状态为排队状态时,接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
在具体实现中,本发明实施例的服务器系统可以包括:多个排队服务器Segment进程,多个派发服务器Router进程,总控服务器Manager进程,排队服务器具有对应的运行状态,运行状态可以包括在线状态,以及,休眠状态,本发明实施例的服务器系统可以包括数据服务器,当数据服务器的当前数据处理量过大时,则服务器系统的数据处理状态要进入排队状态,而在服务器系统进入排队状态后,会对后续申请登陆服务器系统的客户端进行排队处理,进入队列的客户端则按照排队顺序等待服务器处理其上传的数据,在本发明实施例中,客户端可以排列于运行状态为在线状态的排队服务器中,而运行状态为休眠状态的服务器则可以处于待机状态,并不接受客户端排列。
在实际应用中,若服务器系统的数据处理状态已经为排队状态,并且运行状态为在线状态的排队服务器中已经排列有正在排队等候的客户端序列,则可以由总控服务器在运行状态为在线状态的排队服务器中获取排队客户端数量信息,而派发服务器则接收由总控服务器发送的运行状态为在线状态的排队服务器中的排队客户端数量信息。
步骤102,当收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;若否,则执行步骤103;
在具体实现中,本发明实施例在服务器系统接收到由客户端发送的登陆申请信息时,可以不让客户端直接基于登陆申请信息访问排队服务器,而是通过派发服务器接收后再转发至相应的排队服务器,因为在实际应用中,数据计算压力最大的环节并不存在于针对排队服务器的排队计算上,而是针对具体网络协议的包装和解析,所以把针对网络协议的包装和解析单独拆解出来,放在派发服务器上处理,能够有效的降低排队服务器的计算压力,以及,降低因运算量过载导致排队服务器崩溃的风险,而在本发明实施例中,派发服务器的意义仅于分散负载,关于其数量可以任意删减,只要有至少一台,服务器系统就能正常运行,所以,在本发明实施例中,采用派发服务器替代排队服务器处理针对网络协议的包装和解析的计算,能够有效的加强整个服务器系统的稳定性。
在实际应用中,本发明实施例的排队服务器具有对应的处理容量,当处理容量饱和时,则不再接收客户端排队,即,不再接收客户端排列的排队服务器可以为不可用服务器,反之,可以继续接收客户端排列的排队服务器可以为可用服务器,派发服务器在接收到登陆申请信息和排队客户端数量信息后,可以通过排队客户端数量信息判断当前运行状态为在线状态的排队服务器中,是否具有能够容纳该登陆申请信息对应的客户端排列的排队服务器。
步骤103,生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
在具体实现中,若当前运行状态为在线状态的排队服务器中不具有可用的排队服务器,则本发明实施例的派发服务器可以生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,本发明实施例的总控服务器可以在接收到由派发服务器发送的第一排队服务器调用信息后,根据所述第一排队服务器调用信息,调用处于休眠状态的排队服务器,即,将处于休眠状态的排队服务器的所述运行状态调整为所述在线状态。
步骤104,生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息。
在具体实现中,总控服务器可以通过将处于休眠状态的排队服务器的所述运行状态调整为所述在线状态,来唤醒处于休眠状态的排队服务器,而被唤醒的排队服务器对应于第一排队服务器调用信息,本发明实施例可以通过派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,与所述第一排队服务器调用信息对应的排队服务器则可以依据第一排队请求信息排列客户端。
在本发明的一个优选实施例中,还可以通过如下方式生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息:
获取与第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号;采用登陆申请信息生成针对客户端的客户端排列序号;采用第二区段序列号,和,客户端排列序号生成针对客户端的第一排队请求信息;向与第二区段序列号对应的排队服务器发送第一排队请求信息。
在实际应用中,排队服务器可以包括单个或多个区段,而区段具有对应的区段序列号,本发明实施例的派发服务器可以获取与第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号后,通过第二区段序列号和与登陆申请信息对应的客户端的客户端排列序号生成第一排队请求信息,并将该第一排队请求信息发送至与第二区段序列号对应的排队服务器中,使得该排队服务器能够将客户端排列至与第二区段序列号对应的区段上。
在本发明的一个优选实施例中,还可以通过排队客户端数量信息,判断运行状态为在线状态的排队服务器中是否具有空闲的排队服务器;若是,则生成针对空闲的排队服务器的排队服务器移除信息,并向总控服务器发送排队服务器移除信息;其中,总控服务器用于根据排队服务器移除信息,将空闲的排队服务器的运行状态调整为休眠状态。
在实际应用中,若度过用户登陆高峰期,已经不需要对用户进行排队处理,则此时大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费,本发明实施例可以通过排队客户端数量信息,判断运行状态为在线状态的排队服务器中是否具有空闲的排队服务器,若存在空闲的排队服务器,则向总控服务器发送排队服务器移除信息,使得总控服务器能够将空闲的排队服务器的运行状态调整为休眠状态,从而避免资源的浪费。
在本发明的另一个优选实施例中,还可以在服务器系统的数据处理状态即将为排队状态时,获取已提交登陆申请信息且未登陆服务器系统的客户端数量,以及,运行状态为在线状态的排队服务器的荷载量;判断客户端数量是否大于荷载量;若是,则生成第二排队服务器调用信息,并向总控服务器发送第二排队服务器调用信息;其中,总控服务器用于,根据第二排队服务器调用信息,将处于休眠状态的排队服务器的运行状态调整为在线状态;其中,与第二排队服务器调用信息对应的排队服务器具有单个或多个对应区段;区段具有对应的第一区段序列号;采用登陆申请信息生成针对客户端的客户端排列序号;采用客户端排列序号,和,第一区段序列号生成针对客户端的第二排队请求信息;向与第一区段序列号对应的排队服务器发送第二排队请求信息。
在具体实现中,本发明实施例除了可以在系统服务器已经处于排队状态时,通过将处于休眠状态的排队服务器的运行状态调整为在线状态,来提升排队服务器的总荷载量,还可以在系统服务器未处于排队状态,且即将进入排队状态时,派发服务器可以提前获取已提交登陆申请信息且未登陆服务器系统的客户端数量,即,准备进入排队序列的客户端的数量,和,当前运行状态为在线状态的排队服务器的荷载量,确定当前为在线状态的排队服务器的荷载量是否能够排列下准备进入排队序列的客户端,若不能,则通过将处于休眠状态的排队服务器的运行状态调整为在线状态,来提升排队服务器的总荷载量,从而避免了系统服务器在进入排队状态前大量布局排队服务器而造成的资源的浪费。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为所述在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
实施例二
参照图2,示出了本发明实施例二的一种针对服务器的数据处理方法实施例的步骤流程图,本实施例基于总控服务器侧进行描述,具体可以包括如下步骤:
步骤201,当所述服务器系统的数据处理状态为排队状态时,向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
在本发明示例中,派发服务器可以用于在收到由客户端发送的登陆申请信息时,根据排队客户端数量信息,判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,并在运行状态为在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
步骤202,接收由所述派发服务器发送的所述第一排队服务器调用信息;
步骤203,采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
在实际应用中,若服务器系统的数据处理状态已经为排队状态,并且运行状态为在线状态的排队服务器中已经排列有正在排队等候的客户端序列,则可以由总控服务器在运行状态为在线状态的排队服务器中获取排队客户端数量信息,再将该排队客户端数量信息发送给派发服务器。
例如,总控服务器的manager进程包含一个与排队服务器segment进程信息的具有映射关系的数据包,排队服务器segment进程信息包括当前处于排队状态的客户端数量、客户端的排队位置和客户端标识SEG_ID,总控服务器的manager进程可以基于该数据包获取排列于运行状态为在线状态的排队客户端数量信息,并发送给派发服务器。
在本发明实施例中,总控服务器可以在接收由派发服务器发送的第一排队服务器调用信息后,采用第一排队服务器调用信息生成第一排队服务器调用指令,并向处于休眠状态的排队服务器发送第一排队服务器调用指令,从而通过将处于休眠状态的排队服务器的运行状态调整为在线状态来对其进行调用。
在本发明的一个优选实施例中,总控服务器可以在接收由派发服务器发送的排队服务器移除信息后,采用排队服务器移除信息生成排队服务器移除指令,向空闲的排队服务器发送排队服务器移除指令。
在实际应用中,若度过用户登陆高峰期,已经不需要对用户进行排队处理,则此时大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费,本发明实施例可以的总控服务器能够将空闲的排队服务器的运行状态调整为休眠状态,从而避免资源的浪费。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
实施例三
参照图3,示出了本发明实施例三的一种针对服务器的数据处理方法实施例的步骤流程图,本实施例基于排队服务器侧进行描述,具体可以包括如下步骤:
步骤301,判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;若是,则执行步骤302;
步骤302,将所述运行状态由所述休眠状态更改为在线状态;
步骤303,接收由所述派发服务器发送的针对客户端的第一排队请求信息;
步骤304,依据所述第一排队请求信息排列所述客户端;
步骤305,生成针对所述客户端的第一排列位置信息;
步骤306,将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
在本发明实施例中,排队服务器可以在判定接收到由总控服务器发送的第一排队服务器调用指令时,将运行状态由休眠状态更改为在线状态,若接收到由派发服务器发送的针对客户端的第一排队请求信息,则依据第一排队请求信息排列客户端,并生成针对客户端的第一排列位置信息,将第一排列位置信息发送至总控服务器,使得总控服务器能够采用接收到的第一排列位置信息更新排队客户端数量信息,排队服务器还可以在判定接收到由总控服务器发送的排队服务器移除指令时,将运行状态由在线状态更改为休眠状态。
在实际应用中运用本发明实施例,可以通过若干个运行状态为休眠状态的排队服务器进程来构成一个备用池,当需要分配新的排队服务器时,优先从备用池中分配,当某一个排队服务器服务完成,也可以使其变为运行状态为休眠状态的排队服务器并移入备用池,对于备用池中的排队服务器,可以在任意时刻移除或者添加的,添加和移除的过程完全不会影响其余正在运行的排队服务器的服务,如果负载高,备用池即将用完,只需运维人员及时启动新的排队服务器,新的排队服务器会自动向总控服务器注册,并划归到备用池中,不用事先进行任何的配置,可以做到随起随停从而满足。
在本发明的一个优选实施例中,还可以判断是否有客户端断开链接;若是,则生成针对断开链接的客户端的第二排列位置信息;将第二排列位置信息发送至总控服务器;其中,总控服务器用于,采用接收到的第二排列位置信息更新排队客户端数量信息。
在实际应用中,若有排列于排队服务器的客户端断开链接,则可以生成针对断开链接的客户端的第二排列位置信息,并将该信息发送至总控服务器,使得总控服务器能够更新排队客户端数量信息。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
为使本领域技术人员更好理解本发明,以下提供一个完整示例用于解释本发明具体内容:
服务器系统可以包括:多个排队服务器Segment进程,多个派发服务器Router进程,总控服务器Manager进程:
排队服务器Segment进程由单个或多个区段组成,区段间以链表的形式组织,每个排队服务器segment进程可以承载的最大排队用户数量由配置表设置,在设定为10000时,单个排队服务器segment的rps约为1400。
排队服务器Segment间以链表的形式组织起来,受总控服务器manager进程管理,此外,可以有若干个备用排队服务器free segment进程,构成一个备用池,当需要分配新的排队服务器segment时,优先从备用池中选取,当某一个排队服务器segment完成服务,可以将其变为备用排队服务器free segment,放入备用池中。对于备用池中的排队服务器segment,是可以在任意时刻移除或者添加的,完全不会影响服务。如果负载高,备用池中的排队服务器segment即将用完,只需运维人员及时启动新的排队服务器segment进程,新进程会自动向manager注册,并划归到备用池中,这样便不用事先对排队服务器segment进行任何的配置,可以做到随时增减在线的排队服务器segment。
总控服务器Manager进程负责协调排队服务器segment,每个排队服务器segment负责若干个区段,排队服务器segment人数更新通知给总控服务器manager,总控服务器manager再转发给其它派发服务器segment。
总控服务器Manager作为整个系统的中心,负责管理备用排队服务器freesegment和当前处于在线状态的排队服务器segment。而由于Master和slave数据是完全同步的,当master宕机,slave会立即升级成master,避免整个系统崩溃,然后启动新的总控服务器manager,如果有master存在,会自动变为slave,由此保证整个系统的可靠性。
派发服务器Router进程用于接收客户端发送的登陆申请信息,客户端不直接访问排队服务器segment,而是通过派发服务器router将登陆申请转发至排队服务器segment,派发服务器router负责解析和包装协议,因为整个系统中实际开销最大的并非在排队服务器segment的排队计算上,而是针对具体网络协议的包装和解析,所以把协议处理部分单独拆解出来,放在派发服务器router上。派发服务器Router可以连接于总控服务器manager,派发服务器Router从总控服务器manager获取排队服务器segment的信息,哪些是当前活动的排队服务器segment,哪些是备用的排队服务器segment。对于新来的用户,派发服务器router只会向链表中最后的排队服务器segment提交请求,而已经加入排队队列的用户,派发服务器router则会将其请求转交给对应的排队服务器segment。
派发服务器Router可以是无状态的服务器,多个派发服务器router的意义在于分散负载,前面通过load balancer用round robin策略做负载均衡,Router可以任意的增删,只要有一台派发服务器router在,就能够正常的运作。
具体的,可以通过如下步骤实现服务器伸缩架构:
一、排队服务器segment进程
每个进程持有一个区段链表的数据结构;
每个进程有一个唯一的、由配置表配置的、向总控服务器manager区别自身的SEG_ID;启动后,向总控服务器manager注册自己,并被纳入空闲排队服务器segment集合。每隔一定时间或用户数量变化到一定程度(由配置表配置),向总控服务器manager更新自己的用户数。
二、总控服务器manager进程
包含一个由SEG_ID映射到排队服务器segment信息的数据结构,排队服务器segment信息包括当前用户数量,SEG_ID等。包含一个活动排队服务器segment信息的顺序数据结构和一个空闲排队服务器segment信息的集合;包含一个所有派发服务器router信息的集合;包含一个是否是master的标志。
三、派发服务器router进程
每个进程有一个唯一的、由配置表指定的、用于向总控服务器manager区分自己的派发服务器ROUTER_ID;包含一个有所有当前活动排队服务器segment信息的集合;派发服务器router启动时向总控服务器manager注册自己,并获取当前所有的活动排队服务器segment信息。
四、新用户进入
新用户进入时,会通过load balancer随机分配到一台派发服务器router上;派发服务器router解析协议,将请求转发到当前活动排队服务器segment的最后一个;如果最后一个排队服务器segment成功加入用户,则通知派发服务器router加入成功,派发服务器router包装协议后返还给客户端,协议内容包括排队的位置,以及用户分配到的SEG_ID;如果排队服务器segment已满未能成功加入用户,则通知派发服务器router加入失败,派发服务器router包装协议后返回给客户端。
五、既有用户查询
既有用户查询时,同样会通过load balancer随机分配到一台派发服务器router上;查询会带有对应的SEG_ID。如果当前派发服务器router上没有此ID对应的排队服务器segment信息,则通知用户出错重排,有则将请求转交给对应的排队服务器segment;排队服务器segment查询到对应的用户位置后返回给派发服务器router,派发服务器router包装返回给客户端。
六、排队服务器segment用户数变化
当用户数变化到一定程度或者一段时间内有变化,排队服务器segment会将自己的用户数量变化同步给总控服务器manager;如果排队服务器segment用户数大于0且未满,总控服务器manager只需将排队服务器segment的用户数变化同步给链表后其它排队服务器segment;如果排队服务器segment用户变为0,先向链表后其它排队服务器segment同步,再将排队服务器segment从活动排队服务器segment链表中移除,并置入空闲排队服务器segment集合;如果排队服务器segment用户满,先向链表后其它排队服务器segment同步,再尝试去空闲排队服务器segment中申请新的排队服务器segment,如果申请到,则向所有的派发服务器router通知排队服务器segment的变化。
七、容灾机制
总控服务器manager master挂掉后,slave会自动升级为master;如果已有master在,新启动的maanager会自动变为slave;master所有的数据变化会同步给slave;如果master和slave全部挂掉,整个系统除了派发服务器router全部退出;空闲排队服务器segment挂掉,总控服务器manager对应信息移除即可,没有任何的副作用;活动的排队服务器segment挂掉,对应队列中的用户排队信息丢失,会向后更新用户数量信息;涉及到的用户提交查询信息时会被通知出错,并重新排队;所有排队服务器segment全部挂掉时,整个系统除了派发服务器router全部退出;排队服务器segment挂掉时,总控服务器manager会向派发服务器router通知对应的排队服务器segment信息变更;派发服务器router挂掉对系统不会产生任何影响;如果除了派发服务器router之外,别的进程全部挂掉,用户访问派发服务器router时,派发服务器router会通知客户端跳过排队,避免对后续服务造成阻碍性影响。
当然,上述例子仅作为示例,本领域技术人员还可以通过其他方式添加或移除排队服务器,对此,本发明不作限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
参照图4,示出了本发明实施例四的一种针对服务器的数据处理方法实施例的步骤流程图,具体可以包括如下模块:
客户端数量信息接收模块401,用于在所述服务器系统的数据处理状态为排队状态时,接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
可用排队服务器判断模块402,用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;若否,则调用第一排队服务器调用信息发送模块;
第一排队服务器调用信息发送模块403,用于生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
其中,所述总控服务器用于根据所述第一排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为所述在线状态;
第一排队请求信息发送模块404,用于生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息;
其中,所述与所述第一排队服务器调用信息对应的排队服务器用于,依据所述第一排队请求信息排列所述客户端。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
空闲排队服务器判断模块,用于通过所述排队客户端数量信息,判断所述运行状态为所述在线状态的排队服务器中是否具有空闲的排队服务器;若是,则调用排队服务器移除信息发送模块;
排队服务器移除信息发送模块,用于生成针对所述空闲的排队服务器的排队服务器移除信息,并向所述总控服务器发送所述排队服务器移除信息;
其中,所述总控服务器用于根据所述排队服务器移除信息,将所述空闲的排队服务器的所述运行状态调整为休眠状态。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
客户端数量及荷载量获取模块,用于获取已提交登陆申请信息且未登陆所述服务器系统的客户端数量,以及,所述运行状态为所述在线状态的排队服务器的荷载量;
荷载量判断模块,用于判断所述客户端数量是否大于所述荷载量;若是,则调用第二排队服务器调用信息发送模块;
第二排队服务器调用信息发送模块,用于生成第二排队服务器调用信息,并向所述总控服务器发送所述第二排队服务器调用信息;
其中,所述总控服务器用于,根据所述第二排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为在线状态;其中,所述与所述第二排队服务器调用信息对应的排队服务器具有单个或多个对应区段;所述区段具有对应的第一区段序列号;
第一客户端排列序号生成模块,用于采用所述登陆申请信息生成针对所述客户端的客户端排列序号;
第二排队请求信息生成模块,用于采用所述客户端排列序号,和,所述第一区段序列号生成针对所述客户端的第二排队请求信息;
第二排队请求信息发送模块,用于向与所述第一区段序列号对应的排队服务器发送所述第二排队请求信息。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
第二区段序列号获取模块,用于获取与所述第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号;
第二客户端排列序号生成模块,用于采用所述登陆申请信息生成针对所述客户端的客户端排列序号。
在本发明的一个优选实施例中,所述第一排队请求信息发送模块404可以包括如下子模块:
第一排队请求信息生成子模块,用于采用所述第二区段序列号,和,所述客户端排列序号生成针对所述客户端的第一排队请求信息;
第一排队请求信息发送子模块,用于向与所述第二区段序列号对应的排队服务器发送所述第一排队请求信息。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
实施例五
参照图5,示出了本发明实施例五的一种针对服务器的数据处理方法实施例的步骤流程图,具体可以包括如下模块:
排队客户端数量信息发送模块501,用于在所述服务器系统的数据处理状态为排队状态时,向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
其中,其中,所述派发服务器用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息,判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器,并在所述运行状态为所述在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
第一排队服务器调用信息接收模块502,用于接收由所述派发服务器发送的所述第一排队服务器调用信息;
第一排队服务器调用指令发送模块503,用于采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
排队服务器移除信息接收模块,用于接收所述派发服务器发送的排队服务器移除信息;
排队服务器移除指令发送模块,用于采用所述排队服务器移除信息生成排队服务器移除指令,向所述空闲的排队服务器发送所述排队服务器移除指令。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
实施例六
参照图6,示出了本发明实施例六的一种针对服务器的数据处理方法实施例的步骤流程图,具体可以包括如下模块:
第一排队服务器调用指令判断模块601,用于判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;若是,则调用第一运行状态更改模块;
第一运行状态更改模块602,用于将所述运行状态由所述休眠状态更改为在线状态;
第一排队请求信息接收模块603,用于接收由所述派发服务器发送的针对客户端的第一排队请求信息;
客户端排列模块604,用于依据所述第一排队请求信息排列所述客户端;
第一排列位置信息生成模块605,用于生成针对所述客户端的第一排列位置信息;
第一排列位置信息发送模块606,用于将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
排队服务器移除指令接收判断模块,用于判断是否接收到由所述总控服务器发送的排队服务器移除指令;若是,则调用第二运行状态更改模块;
第二运行状态更改模块,用于将所述运行状态由所述在线状态更改为休眠状态。
在本发明的一个优选实施例中,所述装置还可以包括如下模块:
链接状态判断模块,用于判断是否有客户端断开链接;若是,则调用第二排列位置信息生成模块;
第二排列位置信息生成模块,用于生成针对所述断开链接的客户端的第二排列位置信息;
第二排列位置信息发送模块,用于将所述第二排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第二排列位置信息更新排队客户端数量信息。
在实际应用中运用本发明实施例,可以在服务器系统的数据处理状态为排队状态时,由总控服务器获取运行状态为在线状态的排队服务器中的排队客户端数量信息发送给排队服务器,在派发服务器收到由客户端发送的登陆申请信息时,派发服务器根据排队客户端数量信息判断在运行状态为在线状态的排队服务器中是否具有可用排队服务器,若否,则派发服务器生成第一排队服务器调用信息,并向总控服务器发送第一排队服务器调用信息,总控服务器根据第一排队服务器调用信息,调用处于休眠状态的排队服务器,并将处于休眠状态的排队服务器的运行状态调整为在线状态,派发服务器生成第一排队请求信息,并向与第一排队服务器调用信息对应的排队服务器发送第一排队请求信息,使得与第一排队服务器调用信息对应的排队服务器依据第一排队请求信息排列客户端。采用上述方式,实现了通过排队客户端数量的变化即时调整服务器系统中的排队服务器的总荷载量,从而避免了提前部署大量的排队服务器而导致大量处在运行状态的排队服务器会被闲置,导致运营维护资源的浪费。
本发明实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述的针对服务器的数据处理的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的针对服务器的数据处理的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种针对服务器的数据处理方法和一种针对服务器的数据处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种针对服务器的数据处理方法,其特征在于,所述方法应用于服务器系统中,所述服务器系统包括:多个排队服务器,多个派发服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
当所述服务器系统的数据处理状态为排队状态时,所述派发服务器接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
当收到由客户端发送的登陆申请信息时,所述派发服务器根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;
若否,则所述派发服务器生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
其中,所述总控服务器用于根据所述第一排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为所述在线状态;
所述派发服务器生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息;
其中,所述与所述第一排队服务器调用信息对应的排队服务器用于,依据所述第一排队请求信息排列所述客户端。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述派发服务器通过所述排队客户端数量信息,判断所述运行状态为所述在线状态的排队服务器中是否具有空闲的排队服务器;
若是,则所述派发服务器生成针对所述空闲的排队服务器的排队服务器移除信息,并向所述总控服务器发送所述排队服务器移除信息;
其中,所述总控服务器用于根据所述排队服务器移除信息,将所述空闲的排队服务器的所述运行状态调整为休眠状态。
3.根据权利要求1所述的方法,其特征在于,在所述所述派发服务器接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息的步骤之前,还包括:
所述派发服务器获取已提交登陆申请信息且未登陆所述服务器系统的客户端数量,以及,所述运行状态为所述在线状态的排队服务器的荷载量;
所述派发服务器判断所述客户端数量是否大于所述荷载量;
若是,则所述派发服务器生成第二排队服务器调用信息,并向所述总控服务器发送所述第二排队服务器调用信息;
其中,所述总控服务器用于,根据所述第二排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为在线状态;其中,所述与所述第二排队服务器调用信息对应的排队服务器具有单个或多个对应区段;所述区段具有对应的第一区段序列号;
所述派发服务器采用所述登陆申请信息生成针对所述客户端的客户端排列序号;
所述派发服务器采用所述客户端排列序号,和,所述第一区段序列号生成针对所述客户端的第二排队请求信息;
所述派发服务器向与所述第一区段序列号对应的排队服务器发送所述第二排队请求信息。
4.根据权利要求1所述的方法,其特征在于,在所述所述派发服务器生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息的步骤之前,还包括:
所述派发服务器获取与所述第一排队服务器调用信息对应的排队服务器的对应区段的第二区段序列号;
所述派发服务器采用所述登陆申请信息生成针对所述客户端的客户端排列序号。
5.根据权利要求4所述的方法,其特征在于,所述所述派发服务器生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息的步骤包括:
所述派发服务器采用所述第二区段序列号,和,所述客户端排列序号生成针对所述客户端的第一排队请求信息;
所述派发服务器向与所述第二区段序列号对应的排队服务器发送所述第一排队请求信息。
6.一种针对服务器的数据处理方法,其特征在于,所述方法应用于服务器系统中,所述服务器系统包括:多个排队服务器,多个派发服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
当所述服务器系统的数据处理状态为排队状态时,所述总控服务器向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
其中,所述派发服务器用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息,判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器,并在所述运行状态为所述在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
所述总控服务器接收由所述派发服务器发送的所述第一排队服务器调用信息;
所述总控服务器采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述总控服务器接收所述派发服务器发送的排队服务器移除信息;
所述总控服务器采用所述排队服务器移除信息生成排队服务器移除指令,向空闲的排队服务器发送所述排队服务器移除指令。
8.一种针对服务器的数据处理方法,其特征在于,所述方法应用于服务器系统中,所述服务器系统包括:多个排队服务器,多个派发服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述方法包括:
所述排队服务器判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;
若是,则将所述运行状态由所述休眠状态更改为在线状态;
所述排队服务器接收由所述派发服务器发送的针对客户端的第一排队请求信息;
所述排队服务器依据所述第一排队请求信息排列所述客户端;
所述排队服务器生成针对所述客户端的第一排列位置信息;
所述排队服务器将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
所述排队服务器判断是否接收到由所述总控服务器发送的排队服务器移除指令;
若是,则将所述运行状态由所述在线状态更改为休眠状态。
10.根据权利要求8或9所述的方法,其特征在于,还包括:
所述排队服务器判断是否有客户端断开链接;
若是,则所述排队服务器生成针对所述断开链接的客户端的第二排列位置信息;
所述排队服务器将所述第二排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第二排列位置信息更新排队客户端数量信息。
11.一种针对服务器的数据处理装置,其特征在于,所述装置应用于服务器系统中,所述服务器系统包括:多个排队服务器,多个派发服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
客户端数量信息接收模块,用于在所述服务器系统的数据处理状态为排队状态时,所述派发服务器接收由所述总控服务器发送的所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
可用排队服务器判断模块,用于在收到由客户端发送的登陆申请信息时,所述派发服务器根据所述排队客户端数量信息判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器;若否,则调用第一排队服务器调用信息发送模块;
第一排队服务器调用信息发送模块,用于所述派发服务器生成第一排队服务器调用信息,并向所述总控服务器发送所述第一排队服务器调用信息;
其中,所述总控服务器用于根据所述第一排队服务器调用信息,将处于所述休眠状态的排队服务器的所述运行状态调整为所述在线状态;
第一排队请求信息发送模块,用于所述派发服务器生成第一排队请求信息,并向与所述第一排队服务器调用信息对应的排队服务器发送所述第一排队请求信息;
其中,所述与所述第一排队服务器调用信息对应的排队服务器用于,依据所述第一排队请求信息排列所述客户端。
12.一种针对服务器的数据处理装置,其特征在于,所述装置应用于服务器系统中,所述服务器系统包括:多个排队服务器,多个派发服务器,总控服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
排队客户端数量信息发送模块,用于在所述服务器系统的数据处理状态为排队状态时,所述总控服务器向所述派发服务器发送所述运行状态为所述在线状态的排队服务器中的排队客户端数量信息;
其中,所述派发服务器用于在收到由客户端发送的登陆申请信息时,根据所述排队客户端数量信息,判断在所述运行状态为所述在线状态的排队服务器中是否具有可用排队服务器,并在所述运行状态为所述在线状态的排队服务器中不具有可用排队服务器时,生成第一排队服务器调用信息;
第一排队服务器调用信息接收模块,用于所述总控服务器接收由所述派发服务器发送的所述第一排队服务器调用信息;
第一排队服务器调用指令发送模块,用于所述总控服务器采用所述第一排队服务器调用信息生成第一排队服务器调用指令,向处于所述休眠状态的排队服务器发送所述第一排队服务器调用指令。
13.一种针对服务器的数据处理装置,其特征在于,所述装置应用于服务器系统中,所述服务器系统包括:总控服务器,多个派发服务器,多个排队服务器,所述排队服务器具有对应的运行状态,所述运行状态包括在线状态,以及,休眠状态,所述装置包括:
第一排队服务器调用指令判断模块,用于所述排队服务器判断是否接收到由所述总控服务器发送的第一排队服务器调用指令;若是,则调用第一运行状态更改模块;
第一运行状态更改模块,用于将所述运行状态由所述休眠状态更改为在线状态;
第一排队请求信息接收模块,用于所述排队服务器接收由所述派发服务器发送的针对客户端的第一排队请求信息;
客户端排列模块,用于所述排队服务器依据所述第一排队请求信息排列所述客户端;
第一排列位置信息生成模块,用于所述排队服务器生成针对所述客户端的第一排列位置信息;
第一排列位置信息发送模块,用于所述排队服务器将所述第一排列位置信息发送至所述总控服务器;
其中,所述总控服务器用于,采用接收到的所述第一排列位置信息更新排队客户端数量信息。
14.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5,以及,权利要求6至7,以及,权利要求8至10中任一项所述的针对服务器的数据处理的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5,以及,权利要求6至7,以及,权利要求8至10中任一项所述的针对服务器的数据处理的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647955.0A CN109697126B (zh) | 2018-12-29 | 2018-12-29 | 一种针对服务器的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647955.0A CN109697126B (zh) | 2018-12-29 | 2018-12-29 | 一种针对服务器的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697126A CN109697126A (zh) | 2019-04-30 |
CN109697126B true CN109697126B (zh) | 2021-03-16 |
Family
ID=66232447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811647955.0A Active CN109697126B (zh) | 2018-12-29 | 2018-12-29 | 一种针对服务器的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109697126B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113426104A (zh) * | 2021-06-24 | 2021-09-24 | 网易(杭州)网络有限公司 | 一种信息处理方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423662B1 (en) * | 2003-04-28 | 2013-04-16 | Akamai Technologies, Inc. | Forward request queuing in a distributed edge processing environment |
CN101989338A (zh) * | 2009-07-30 | 2011-03-23 | 升东网络科技发展(上海)有限公司 | 在线排队服务系统及方法 |
CN104468395B (zh) * | 2014-10-20 | 2018-11-06 | 广州华多网络科技有限公司 | 直播间的频道访问方法和系统 |
CN106506253B (zh) * | 2016-09-08 | 2020-04-14 | 深圳先进技术研究院 | 一种基于tcp/ip通信协议的在线客户端数量的统计系统及方法 |
-
2018
- 2018-12-29 CN CN201811647955.0A patent/CN109697126B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109697126A (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338773B (zh) | 一种分布式定时任务调度方法、调度系统及服务器集群 | |
CN105245373B (zh) | 一种容器云平台系统的搭建及运行方法 | |
CN109274707B (zh) | 一种负载调度方法及装置 | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
CN108023953B (zh) | Ftp服务的高可用实现方法和装置 | |
CN108681777B (zh) | 一种基于分布式系统的机器学习程序运行的方法和装置 | |
WO2012086919A2 (ko) | 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 | |
US7685289B2 (en) | Method and apparatus for proxying initial client requests to support asynchronous resource initialization | |
US11122108B2 (en) | End-to-end file transmission method and system thereof | |
CN112118315A (zh) | 数据处理系统、方法、装置、电子设备和存储介质 | |
TW201246103A (en) | Category information transmission method, system and apparatus | |
CN102708173A (zh) | 处理用户访问网页的请求的方法及系统 | |
US9104488B2 (en) | Support server for redirecting task results to a wake-up server | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
US10884880B2 (en) | Method for transmitting request message and apparatus | |
CN111770172A (zh) | 消息中间件消费代理方法、装置、代理服务器及存储介质 | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
WO2012174935A1 (zh) | 持久化服务的实现方法及持久化服务系统 | |
CN113206877A (zh) | 一种会话保持方法及装置 | |
CN109697126B (zh) | 一种针对服务器的数据处理方法和装置 | |
WO2020253078A1 (zh) | 轻量级请求的并发处理方法及相关设备 | |
CN108540546B (zh) | 网络节点入网控制方法、电子设备、网络系统和存储介质 | |
CN111835809A (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
WO2024021471A1 (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN110971669B (zh) | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |