CN111277626A - 服务器升级方法、装置、电子设备及介质 - Google Patents
服务器升级方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111277626A CN111277626A CN202010015317.8A CN202010015317A CN111277626A CN 111277626 A CN111277626 A CN 111277626A CN 202010015317 A CN202010015317 A CN 202010015317A CN 111277626 A CN111277626 A CN 111277626A
- Authority
- CN
- China
- Prior art keywords
- server
- target
- request
- upgraded
- offline
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种服务器升级方法、装置、电子设备及介质。该方法能够获取待升级服务器集群中每个待升级服务器的待处理请求,将待升级服务器设置为离线状态,得到离线服务器,并将待处理请求发送至服务网关,获取所述离线服务器的线程池信息,所述线程池信息用于表征离线服务器的线程池是否空闲,若所述离线服务器的线程池空闲,升级离线服务器,得到目标离线服务器,将目标离线服务器设置为在线状态,得到目标在线服务器,获取目标在线服务器响应待处理请求的成功率,当成功率大于或者等于预设阈值时,确定目标在线服务器为升级成功的服务器,通过服务器监控使服务器升级时不丢失运行线程,且升级后能立即受制于服务网关。
Description
技术领域
本发明涉及云监控技术领域,尤其涉及一种服务器升级方法、装置、电子设备及介质。
背景技术
目前,随着互联网的快速发展,服务器更新换代的速度也随之加快,为了在升级服务器时不影响用户的体验,服务器升级方案也应运而生。
然而,在现有的服务器升级方案中,采用串行的方式升级服务器,即在将待处理请求分配至除待升级服务器外的其他服务器后,对待升级服务器进行升级,但是,当待升级服务器中存在线程池信息时,将导致该线程池信息丢失,同时,在待升级服务器完成升级的一段时间内,升级后的服务器无法立即受制于服务网关,进而无法快速处理新的用户请求。
发明内容
鉴于以上内容,有必要提供一种服务器升级方法、装置、电子设备及介质,不仅能够在升级服务器的同时不丢失线程池信息,还使服务器升级后能够立即受制于服务网关。
一种服务器升级方法,所述方法包括:
当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求;
将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关;
获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲;
若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器;
将所述目标离线服务器设置为在线状态,得到目标在线服务器;
获取所述目标在线服务器响应所述服务网关中待处理请求的成功率;
当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
根据本发明优选实施例,在接收到服务器升级指令之前,所述方法还包括:
计算第一预设时间内所述服务网关中所有服务器的用户请求的目标数量;
当所述目标数量小于总数量时,获取所述所有服务器中每个服务器的第一请求,其中,所述总数量指所述所有服务器处于最大请求量时的用户请求量;
计算每个服务器中所述第一请求的第一数量;
对每个服务器按照所述第一数量从低到高进行排序,得到第一队列;
根据所述目标数量及所述总数量确定服务器的升级数量;
从所述第一队列中提取出前所述升级数量的服务器,作为所述待升级服务器集群。
根据本发明优选实施例,所述根据所述目标数量及所述总数量确定服务器的升级数量包括:
a、将所述所有服务器的个数进行减1运算;
b、计算进行所述减1运算后的所有服务器处于最大请求量时用户请求的总数量;
重复步骤a-b,直至当所述目标数量大于或者等于所述总数量时,计算所述减1运算的次数,作为所述升级数量。
根据本发明优选实施例,在将所述待处理请求发送至服务网关后,所述方法还包括:
生成反馈数据包,发送所述反馈数据包至所述离线服务器中;
根据负载均衡原则,将所述待处理请求分配至除所述离线服务器外的其他服务器中。
根据本发明优选实施例,在获取到所述离线服务器的线程池信息时,所述方法还包括:
根据所述线程池信息,确定该离线服务器完成所述线程池信息的目标时间;
当所述目标时间大于第二预设时间时,封装所述线程池信息,将封装后的线程池信息发送至所述服务网关,或者当所述目标时间小于或者等于所述第二预设时间时,等待所述线程池信息执行完毕。
根据本发明优选实施例,所述获取所述目标在线服务器响应所述服务网关中待处理请求的成功率包括:
获取每个目标在线服务器中的待处理请求;
计算所述待处理请求的第二数量,及计算所述待处理请求被成功响应的第三数量;
根据所述第二数量及所述第三数量,确定所述目标在线服务器响应所述待处理请求的成功率。
根据本发明优选实施例,所述方法还包括:
获取成功率小于所述预设阈值的服务器作为升级失败的服务器,及获取所述升级失败的服务器的日志;
从所述日志中获取未被成功响应的目标请求,及获取所述升级失败的服务器的第一版本信息;
根据所述目标请求及所述第一版本信息生成告警信息;
对所述告警信息进行加密处理,得到目标密文;
当所述目标密文被成功解密时,显示所述告警信息。
一种服务器升级装置,所述装置包括:
获取单元,用于当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求;
发送单元,用于将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关;
所述获取单元,还用于获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲;
升级单元,用于若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器;
设置单元,用于将所述目标离线服务器设置为在线状态,得到目标在线服务器;
所述获取单元,还用于获取所述目标在线服务器响应所述服务网关中待处理请求的成功率;
确定单元,用于当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
根据本发明优选实施例,所述装置还包括:
计算单元,用于在接收到服务器升级指令之前,计算第一预设时间内所述服务网关中所有服务器的用户请求的目标数量;
所述获取单元,还用于当所述目标数量小于总数量时,获取所述所有服务器中每个服务器的第一请求,其中,所述总数量指所述所有服务器处于最大请求量时的用户请求量;
所述计算单元,还用于计算每个服务器中所述第一请求的第一数量;
排序单元,用于对每个服务器按照所述第一数量从低到高进行排序,得到第一队列;
所述确定单元,还用于根据所述目标数量及所述总数量确定服务器的升级数量;
提取单元,用于从所述第一队列中提取出前所述升级数量的服务器,作为所述待升级服务器集群。
根据本发明优选实施例,所述确定单元根据所述目标数量及所述总数量确定服务器的升级数量包括:
a、将所述所有服务器的个数进行减1运算;
b、计算进行所述减1运算后的所有服务器处于最大请求量时用户请求的总数量;
重复步骤a-b,直至当所述目标数量大于或者等于所述总数量时,计算所述减1运算的次数,作为所述升级数量。
根据本发明优选实施例,所述发送单元,还用于在将所述待处理请求发送至服务网关之后,生成反馈数据包,发送所述反馈数据包至所述离线服务器中;
所述装置还包括:
分配单元,用于根据负载均衡原则,将所述待处理请求分配至除所述离线服务器外的其他服务器中。
根据本发明优选实施例,所述确定单元,还用于在获取到所述离线服务器的线程池信息时,根据所述线程池信息,确定该离线服务器完成所述线程池信息的目标时间;
执行单元,用于当所述目标时间大于第二预设时间时,封装所述线程池信息,将封装后的线程池信息发送至所述服务网关,或者当所述目标时间小于或者等于所述第二预设时间时,等待所述线程池信息执行完毕。
根据本发明优选实施例,所述获取单元获取所述目标在线服务器响应所述服务网关中待处理请求的成功率包括:
获取每个目标在线服务器中的待处理请求;
计算所述待处理请求的第二数量,及计算所述待处理请求被成功响应的第三数量;
根据所述第二数量及所述第三数量,确定所述目标在线服务器响应所述待处理请求的成功率。
根据本发明优选实施例,所述获取单元,还用于获取成功率小于所述预设阈值的服务器作为升级失败的服务器,及获取所述升级失败的服务器的日志;
所述获取单元,还用于从所述日志中获取未被成功响应的目标请求,及获取所述升级失败的服务器的第一版本信息;
所述装置还包括:
生成单元,用于根据所述目标请求及所述第一版本信息生成告警信息;
加密单元,用于对所述告警信息进行加密处理,得到目标密文;
显示单元,用于当所述目标密文被成功解密时,显示所述告警信息。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述服务器升级方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述服务器升级方法。
由以上技术方案可以看出,本发明能够当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求,将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关,获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲,若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器,将所述目标离线服务器设置为在线状态,得到目标在线服务器,获取所述目标在线服务器响应所述服务网关中待处理请求的成功率,当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器,不仅能够在升级服务器的同时不丢失线程池信息,还使服务器升级后能够立即受制于服务网关。
附图说明
图1是本发明服务器升级方法的较佳实施例的流程图。
图2是本发明服务器升级装置的较佳实施例的功能模块图。
图3是本发明实现服务器升级方法的较佳实施例的电子设备的结构示意图。
主要元件符号说明
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明服务器升级方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述服务器升级方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求。
在本发明的至少一个实施例中,所述服务器升级指令可以由用户触发,也可以在满足一定条件时自动触发,本发明不限制。
其中,所述满足一定条件包括,但不限于:满足配置时间、电子设备检测到服务器有升级需求等。
所述配置时间可以包括确定的时间点(例如:所述配置时间可以是每天早上七点),或者包括一个时间段等。
在本发明的至少一个实施例中,在接收到所述服务器升级指令之前,所述方法还包括:
所述电子设备根据下列公式,计算服务网关中所有服务器处于最大请求量时用户请求的总数量:
其中,所述X表示所述所有服务器的个数,所述rmaxN表示每个服务器的最大请求量。
由于服务器在运行时,除了处理用户请求以外,还参与服务器与服务器之间的调用,同时,还应当预留一定的空间以防服务器崩溃,因此,将所有服务器处于最大请求量时请求的总和的60%作为所述总数量的预估量,符合服务器的设计原则。
例如:所有服务器分别为服务器A、服务器B、服务器C,所述服务器A处于最大请求量时请求的数量为500个,所述服务器B处于最大请求量时请求的数量为800个,所述服务器C处于最大请求量时请求的数量为700个,因此,所述所有服务器处于最大请求量时用户请求的总数量为:1200个。
在本发明的至少一个实施例中,在接收到服务器升级指令之前,所述方法还包括:
所述电子设备计算第一预设时间内所述服务网关中所有服务器的用户请求的目标数量,当所述目标数量小于总数量时,获取所述所有服务器中每个服务器的第一请求,其中,所述总数量指所述所有服务器处于最大请求量时的用户请求量,所述电子设备计算每个服务器中所述第一请求的第一数量,对每个服务器按照所述第一数量从低到高进行排序,得到第一队列,根据所述目标数量及所述总数量确定服务器的升级数量,从所述第一队列中提取出前所述升级数量的服务器,作为所述待升级服务器集群。
其中,所述第一预设时间可以包括一个时间段,本发明不作限制。
通过上述实施方式,在所述目标数量小于所述总数量的情况下确定服务器的升级对象,由于在所述目标数量大于或者等于所述总数量时,服务器处于繁忙状态,假设在此时升级服务器,将会导致本处于繁忙状态的服务器崩溃,进而影响用户的体验,除此之外,通过将所述第一数量最小的服务器确定为待升级服务器,能够减少发送所述待处理请求所花费的时间。
在本发明的至少一个实施例中,所述电子设备根据所述目标数量及所述总数量确定服务器的升级数量包括:
a、所述电子设备将所述所有服务器的个数进行减1运算,b、计算进行所述减1运算后的所有服务器处于最大请求量时用户请求的总数量,所述电子设备重复步骤a-b,直至当所述目标数量大于或者等于所述总数量时,计算所述减1运算的次数,作为所述升级数量。
由于服务器可以同时处理至少一个用户请求,因此,在对服务器的个数进行所述减1运算后,存在所述目标数量大于或者等于所述总数量的情况。
通过所述目标数量与所述总数量的比较,将所述减1运算的次数确定为所述升级数量,能够在保证服务器顺畅的情况下,尽可能升级更多的服务器。
S11,将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关。
在本发明的至少一个实施例中,当服务器处于所述离线状态时,将不会有新的用户请求分配至该服务器。
在本发明的至少一个实施例中,所述电子设备将所述待升级服务器的服务状态置换为out_of_service,得到所述待升级服务器的服务状态为所述离线状态。
在本发明的至少一个实施例中,所述电子设备将所述待处理请求发送至服务网关之前,所述电子设备封装所述待处理请求,具体包括:
所述电子设备从所述待处理请求中获取目标参数及所述目标参数对应的目标标签,封装每个目标参数及每个目标参数对应的目标标签,得到至少一个目标字符串,更进一步地,所述电子设备整合所述至少一个目标字符串,得到封装后的待处理请求。
其中,所述目标参数可以包括:所述待处理请求的请求信息、请求者的互联网协议(Internet Protocol,IP)地址等。
通过对所述待处理请求的重新封装,使封装后的待处理请求随着目标字符串传至所述服务网关。
在本发明的至少一个实施例中,所述封装后的待处理请求中的信息包括,但不限于:第一源地址、第一目的地址等,其中,所述第一源地址为所述离线服务器的地址,所述第一目的地址为所述服务网关所在的地址。
在本发明的至少一个实施例中,在将所述待处理请求发送至服务网关后,所述方法还包括:
所述电子设备生成反馈数据包,发送所述反馈数据包至所述离线服务器中,进一步地,所述电子设备根据负载均衡原则,将所述待处理请求分配至除所述离线服务器外的其他服务器中。
具体地,所述电子设备生成反馈数据包,发送所述反馈数据包至所述离线服务器中包括:
当检测到所述服务网关接收到所述待处理请求时,所述电子设备基于所述待处理请求生成对应的反馈数据包,进一步地,所述电子设备发送所述反馈数据包至所述离线服务器中。
其中,所述反馈数据包的信息包括,但不限于:第二源地址、第二目的地址、所述服务网关接收所述待处理请求的时间等。
通过上述实施方式,能够检测每个待处理请求是否均被所述服务网关接收,避免在将所述待处理请求发送至所述服务网关的过程中出现请求丢失而不被察觉。
具体地,所述电子设备通过负载均衡原则,将所述待处理请求分配至所述其他服务器中响应,能够避免所述离线服务器升级时间过长而无法及时响应所述待处理请求。
其中,所述负载均衡原则是用来达到资源的最优化使用、最大化吞吐率、最小化响应时间以及避免过载的一种计算机服务原则。
S12,获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲。
在本发明的至少一个实施例中,所述线程池信息包括异常请求及正在处理的请求,进一步地,所述线程池中可以维护多个线程。当所述电子设备获取到所述线程池信息时,所述电子设备确定该离线服务器的线程池处于繁忙状态。
在本发明的至少一个实施例中,在获取到所述离线服务器的线程池信息时,所述方法还包括:
所述电子设备根据所述线程池信息,确定该离线服务器完成所述线程池信息的目标时间,所述电子设备当所述目标时间大于第二预设时间时,封装所述线程池信息,将封装后的线程池信息发送至所述服务网关,或者当所述目标时间小于或者等于所述第二预设时间时,等待所述线程池信息执行完毕。
进一步地,所述第二预设时间可以是一个时间段,本发明不作限制。
通过上述实施方式,不仅能够避免离线服务器中线程池信息的丢失,还能够避免离线服务器等待升级的时间过长。
S13,若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器。
在本发明的至少一个实施例中,所述目标离线服务器是指已完成升级的离线服务器,所述目标离线服务器的当前版本信息与所述目标版本信息一致。
在本发明的至少一个实施例中,所述电子设备升级所述离线服务器包括:
所述电子设备从所述离线服务器中调取旧版数据库中的第一信息,进一步地,所述电子设备卸载旧版本信息,获取每个离线服务器的目标版本信息,进一步地,所述电子设备将所述目标版本信息安装到对应的离线服务器中,根据所述第一信息及所述目标版本信息,升级所述离线服务器,得到所述目标离线服务器。
通过上述实施方式,在无需提供额外的专用服务器的前提下,能够自动升级所述离线服务器。
在本发明的至少一个实施例中,所述电子设备获取所述目标离线服务器的当前版本信息,当检测到所述当前版本信息与所述目标版本信息一致时,所述电子设备确定所述离线服务器完成升级。
通过将所述当前版本信息与所述目标版本信息进行匹配,能够快速确定所述离线服务器的升级情况。
在本发明的至少一个实施例中,在得到目标离线服务器之后,所述电子设备测试所述目标离线服务器,具体包括,但不限于以下一种或者多种方式的组合:
(1)所述电子设备对所述目标离线服务器进行CPU性能测试,得到所述CPU性能测试结果。
(2)所述电子设备对所述目标离线服务器进行内存性能测试,得到所述内存性能测试结果。
(3)所述电子设备对所述目标离线服务器进行磁盘性能测试,得到所述磁盘性能测试结果。
(4)所述电子设备对所述目标离线服务器进行功能测试,得到所述功能测试结果。
具体地,所述电子设备对所述目标离线服务器进行CPU性能测试包括:
所述电子设备获取测试脚本文件,根据所述测试脚本文件运行CPU性能测试工具,进一步地,所述电子设备采用所述CPU性能测试工具对处于超频或者满载状态的所述目标离线服务器进行测试,得到所述目标离线服务器在CPU处于超频或者满载时的CPU性能测试结果。
在其他实施例中,所述电子设备还能得到所述目标离线服务器的其他测试结果,综合所有测试结果进行处理,使所述目标离线服务器的测试结果更加精确。
在本发明的至少一个实施例中,所述电子设备获取每个目标离线服务器的测试结果,当检测到所述测试结果大于或者等于配置值时,所述电子设备确定所述目标离线服务器通过测试,或者当检测到所述测试结果小于所述配置值时,所述电子设备确定所述目标离线服务器不通过测试。
其中,所述配置值的取值在本发明中不作限制。
在本发明的至少一个实施例中,当存在目标离线服务器不通过测试时,所述电子设备获取该目标离线服务器的目标测试结果,进一步地,所述电子设备对所述目标测试结果进行加密处理,得到第一密文,将所述第一密文发送至指定联系人的终端设备,当所述第一密文被解密成功时,显示所述测试结果。
其中,所述指定联系人可以是项目的负责人,本发明不作限制。
通过对所述测试结果进行加密,能够避免所述目标测试结果被随意篡改,同时,将经过加密后的测试结果发送至指定联系人的终端设备,起到提醒所述指定联系人接收测试结果的作用。
S14,将所述目标离线服务器设置为在线状态,得到目标在线服务器。
在本发明的至少一个实施例中,当服务器处于所述在线状态时,新的用户请求能够分配至该服务器中。
在本发明的至少一个实施例中,所述电子设备将每个目标离线服务器的服务状态从out_of_service置换为running,得到所述目标在线服务器。
通过上述实施方式,能够使所述目标离线服务器在通过测试后,及时受制于所述服务网关,进而减轻其他服务器的压力。
S15,获取所述目标在线服务器响应所述服务网关中待处理请求的成功率。
在本发明的至少一个实施例中,所述待处理请求可以是待升级服务器发送至所述服务网关的待处理请求,也可以是任意未分配的请求。
在本发明的至少一个实施例中,所述电子设备检测所述待处理请求是否被成功响应包括:
当在第三预设时间内检测到所述待处理请求对应的响应结果时,确定所述待处理请求被成功响应,当在第三预设时间内未检测到所述待处理请求对应的响应结果时,确定所述待处理请求未被成功响应。
其中,所述第三预设时间是根据至少一个服务器处理用户请求的时间确定的,具体确定方式,本发明不作限制。
在本发明的至少一个实施例中,所述电子设备获取所述目标在线服务器响应所述服务网关中待处理请求的成功率包括:
所述电子设备获取每个目标在线服务器中的待处理请求,进一步地,所述电子设备计算所述待处理请求的第二数量,及计算所述待处理请求被成功响应的第三数量,根据所述第二数量及所述第三数量,确定所述目标在线服务器响应所述待处理请求的成功率。
例如:所述目标在线服务器有:服务器D、服务器E,所述服务器D中待处理请求的第二数量为100,所述电子设备检测到所述待处理请求被成功响应的第三数量为80,因此,得到所述服务器D响应所述待处理请求的成功率为0.8,所述服务器E中待处理请求的第二数量为100,所述电子设备检测到所述待处理请求被成功响应的第三数量为90,因此,得到所述服务器D响应所述待处理请求的成功率为0.9。
S16,当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
在本发明的至少一个实施例中,所述方法还包括:
所述电子设备获取成功率小于所述预设阈值的服务器作为升级失败的服务器,及获取所述升级失败的服务器的日志,从所述日志中获取未被成功响应的目标请求,及获取所述升级失败的服务器的第一版本信息,根据所述目标请求及所述第一版本信息生成告警信息,对所述告警信息进行加密处理,得到目标密文,当所述目标密文被成功解密时,显示所述告警信息。
其中,所述预设阈值的取值在本发明中不作限制。
进一步地,所述告警信息包括,但不限于:所述升级失败的服务器的成功率、所述升级失败的服务器的当前版本信息、不被成功响应的请求等。
通过上述实施方式,能够避免所述告警信息随意被篡改,提高所述告警信息的安全性。
由以上技术方案可以看出,本发明能够当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求,将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关,获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲,若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器,将所述目标离线服务器设置为在线状态,得到目标在线服务器,获取所述目标在线服务器响应所述服务网关中待处理请求的成功率,当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器,不仅能够在升级服务器的同时不丢失线程池信息,还使服务器升级后能够立即受制于服务网关。
如图2所示,是本发明服务器升级装置的较佳实施例的功能模块图。所述服务器升级装置11包括获取单元110、发送单元111、升级单元112、设置单元113、确定单元114、计算单元115、排序单元116、提取单元117、分配单元118、执行单元119、生成单元120、加密单元121、显示单元122、封装单元123、测试单元124及检测单元125。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到服务器升级指令时,获取单元110获取待升级服务器集群中每个待升级服务器的待处理请求。
在本发明的至少一个实施例中,所述服务器升级指令可以由用户触发,也可以在满足一定条件时自动触发,本发明不限制。
其中,所述满足一定条件包括,但不限于:满足配置时间、检测到服务器有升级需求等。
所述配置时间可以包括确定的时间点(例如:所述配置时间可以是每天早上七点),或者包括一个时间段等。
在本发明的至少一个实施例中,在接收到所述服务器升级指令之前,计算单元115根据下列公式,计算服务网关中所有服务器处于最大请求量时用户请求的总数量:
其中,所述X表示所述所有服务器的个数,所述rmaxN表示每个服务器的最大请求量。
由于服务器在运行时,除了处理用户请求以外,还参与服务器与服务器之间的调用,同时,还应当预留一定的空间以防服务器崩溃,因此,将所有服务器处于最大请求量时请求的总和的60%作为所述总数量的预估量,符合服务器的设计原则。
例如:所有服务器分别为服务器A、服务器B、服务器C,所述服务器A处于最大请求量时请求的数量为500个,所述服务器B处于最大请求量时请求的数量为800个,所述服务器C处于最大请求量时请求的数量为700个,因此,所述所有服务器处于最大请求量时用户请求的总数量为:1200个。
在本发明的至少一个实施例中,在接收到服务器升级指令之前,所述计算单元115计算第一预设时间内所述服务网关中所有服务器的用户请求的目标数量,当所述目标数量小于总数量时,所述获取单元110获取所述所有服务器中每个服务器的第一请求,其中,所述总数量指所述所有服务器处于最大请求量时的用户请求量,所述计算单元115计算每个服务器中所述第一请求的第一数量,排序单元116对每个服务器按照所述第一数量从低到高进行排序,得到第一队列,确定单元114根据所述目标数量及所述总数量确定服务器的升级数量,提取单元117从所述第一队列中提取出前所述升级数量的服务器,作为所述待升级服务器集群。
其中,所述第一预设时间可以包括一个时间段,本发明不作限制。
通过上述实施方式,在所述目标数量小于所述总数量的情况下确定服务器的升级对象,由于在所述目标数量大于或者等于所述总数量时,服务器处于繁忙状态,假设在此时升级服务器,将会导致本处于繁忙状态的服务器崩溃,进而影响用户的体验,除此之外,通过将所述第一数量最小的服务器确定为待升级服务器,能够减少发送所述待处理请求所花费的时间。
在本发明的至少一个实施例中,所述确定单元114根据所述目标数量及所述总数量确定服务器的升级数量包括:
a、所述确定单元114将所述所有服务器的个数进行减1运算,b、计算进行所述减1运算后的所有服务器处于最大请求量时用户请求的总数量,所述确定单元114重复步骤a-b,直至当所述目标数量大于或者等于所述总数量时,计算所述减1运算的次数,作为所述升级数量。
由于服务器可以同时处理至少一个用户请求,因此,在对服务器的个数进行所述减1运算后,存在所述目标数量大于或者等于所述总数量的情况。
通过所述目标数量与所述总数量的比较,将所述减1运算的次数确定为所述升级数量,能够在保证服务器顺畅的情况下,尽可能升级更多的服务器。
发送单元111将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关。
在本发明的至少一个实施例中,当服务器处于所述离线状态时,将不会有新的用户请求分配至该服务器。
在本发明的至少一个实施例中,所述发送单元111将所述待升级服务器的服务状态置换为out_of_service,得到所述待升级服务器的服务状态为所述离线状态。
在本发明的至少一个实施例中,所述发送单元111将所述待处理请求发送至服务网关之前,封装单元123封装所述待处理请求,具体包括:
所述封装单元123从所述待处理请求中获取目标参数及所述目标参数对应的目标标签,封装每个目标参数及每个目标参数对应的目标标签,得到至少一个目标字符串,更进一步地,所述封装单元123整合所述至少一个目标字符串,得到封装后的待处理请求。
其中,所述目标参数可以包括:所述待处理请求的请求信息、请求者的互联网协议(Internet Protocol,IP)地址等。
通过对所述待处理请求的重新封装,使封装后的待处理请求随着目标字符串传至所述服务网关。
在本发明的至少一个实施例中,所述封装后的待处理请求中的信息包括,但不限于:第一源地址、第一目的地址等,其中,所述第一源地址为所述离线服务器的地址,所述第一目的地址为所述服务网关所在的地址。
在本发明的至少一个实施例中,在将所述待处理请求发送至服务网关后,所述发送单元111生成反馈数据包,发送所述反馈数据包至所述离线服务器中,进一步地,分配单元118根据负载均衡原则,将所述待处理请求分配至除所述离线服务器外的其他服务器中。
具体地,所述发送单元111生成反馈数据包,发送所述反馈数据包至所述离线服务器中包括:
当检测到所述服务网关接收到所述待处理请求时,所述发送单元111基于所述待处理请求生成对应的反馈数据包,进一步地,所述发送单元111发送所述反馈数据包至所述离线服务器中。
其中,所述反馈数据包的信息包括,但不限于:第二源地址、第二目的地址、所述服务网关接收所述待处理请求的时间等。
通过上述实施方式,能够检测每个待处理请求是否均被所述服务网关接收,避免在将所述待处理请求发送至所述服务网关的过程中出现请求丢失而不被察觉。
具体地,所述分配单元118通过负载均衡原则,将所述待处理请求分配至所述其他服务器中响应,能够避免所述离线服务器升级时间过长而无法及时响应所述待处理请求。
其中,所述负载均衡原则是用来达到资源的最优化使用、最大化吞吐率、最小化响应时间以及避免过载的一种计算机服务原则。
所述获取单元110获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲。
在本发明的至少一个实施例中,所述线程池信息包括异常请求及正在处理的请求,进一步地,所述线程池中可以维护多个线程。当所述获取单元110获取到所述线程池信息时,所述确定单元114确定所述离线服务器的线程池处于繁忙状态。
在本发明的至少一个实施例中,在获取到所述离线服务器的线程池信息时,所述确定单元114根据所述线程池信息,确定该离线服务器完成所述线程池信息的目标时间,执行单元119当所述目标时间大于第二预设时间时,封装所述线程池信息,将封装后的线程池信息发送至所述服务网关,或者当所述目标时间小于或者等于所述第二预设时间时,等待所述线程池信息执行完毕。
进一步地,所述第二预设时间可以是一个时间段,本发明不作限制。
通过上述实施方式,不仅能够避免离线服务器中线程池信息的丢失,还能够避免离线服务器等待升级的时间过长。
若所述离线服务器的线程池空闲,升级单元112则对所述离线服务器进行服务器升级操作,得到目标离线服务器。
在本发明的至少一个实施例中,所述目标离线服务器是指已完成升级的离线服务器,所述目标离线服务器的当前版本信息与所述目标版本信息一致。
在本发明的至少一个实施例中,所述升级单元112升级所述离线服务器包括:
所述升级单元112从所述离线服务器中调取旧版数据库中的第一信息,进一步地,所述升级单元112卸载旧版本信息,获取每个离线服务器的目标版本信息,进一步地,所述升级单元112将所述目标版本信息安装到对应的离线服务器中,根据所述第一信息及所述目标版本信息,升级所述离线服务器,得到所述目标离线服务器。
通过上述实施方式,在无需提供额外的专用服务器的前提下,能够自动升级所述离线服务器。
在本发明的至少一个实施例中,所述确定单元114获取所述目标离线服务器的当前版本信息,当检测到所述当前版本信息与所述目标版本信息一致时,所述确定单元114确定所述离线服务器完成升级。
通过将所述当前版本信息与所述目标版本信息进行匹配,能够快速确定所述离线服务器的升级情况。
在本发明的至少一个实施例中,在得到目标离线服务器之后,测试单元124测试所述目标离线服务器,具体包括,但不限于以下一种或者多种方式的组合:
(1)所述测试单元124对所述目标离线服务器进行CPU性能测试,得到所述CPU性能测试结果。
(2)所述测试单元124对所述目标离线服务器进行内存性能测试,得到所述内存性能测试结果。
(3)所述测试单元124对所述目标离线服务器进行磁盘性能测试,得到所述磁盘性能测试结果。
(4)所述测试单元124对所述目标离线服务器进行功能测试,得到所述功能测试结果。
具体地,所述测试单元124对所述目标离线服务器进行CPU性能测试包括:
所述测试单元124获取测试脚本文件,根据所述测试脚本文件运行CPU性能测试工具,进一步地,所述测试单元124采用所述CPU性能测试工具对处于超频或者满载状态的所述目标离线服务器进行测试,得到所述目标离线服务器在CPU处于超频或者满载时的CPU性能测试结果。
在其他实施例中,所述测试单元124还能得到所述目标离线服务器的其他测试结果,综合所有测试结果进行处理,使所述目标离线服务器的测试结果更加精确。
在本发明的至少一个实施例中,所述获取单元110获取每个目标离线服务器的测试结果,当检测到所述测试结果大于或者等于配置值时,所述确定单元114确定所述目标离线服务器通过测试,或者当检测到所述测试结果小于所述配置值时,所述确定单元114确定所述目标离线服务器不通过测试。
其中,所述配置值的取值在本发明中不作限制。
在本发明的至少一个实施例中,当存在目标离线服务器不通过测试时,所述获取单元110获取该目标离线服务器的目标测试结果,进一步地,加密单元121对所述目标测试结果进行加密处理,得到第一密文,所述发送单元111将所述第一密文发送至指定联系人的终端设备,当所述第一密文被解密成功时,显示单元122显示所述测试结果。
其中,所述指定联系人可以是项目的负责人,本发明不作限制。
通过对所述测试结果进行加密,能够避免所述目标测试结果被随意篡改,同时,将经过加密后的测试结果发送至指定联系人的终端设备,起到提醒所述指定联系人接收测试结果的作用。
设置单元113将所述目标离线服务器设置为在线状态,得到目标在线服务器。
在本发明的至少一个实施例中,当服务器处于所述在线状态时,新的用户请求能够分配至该服务器中。
在本发明的至少一个实施例中,所述设置单元113将每个目标离线服务器的服务状态从out_of_service置换为running,得到所述目标在线服务器。
通过上述实施方式,能够使所述目标离线服务器在通过测试后,及时受制于所述服务网关,进而减轻其他服务器的压力。
所述获取单元110获取所述目标在线服务器响应所述服务网关中待处理请求的成功率。
在本发明的至少一个实施例中,所述待处理请求可以是待升级服务器发送至所述服务网关的待处理请求,也可以是任意未分配的请求。
在本发明的至少一个实施例中,检测单元125检测所述待处理请求是否被成功响应包括:
当在第三预设时间内检测到所述待处理请求对应的响应结果时,所述检测单元125确定所述待处理请求被成功响应,当在第三预设时间内未检测到所述待处理请求对应的响应结果时,所述检测单元125确定所述待处理请求未被成功响应。
其中,所述第三预设时间是根据至少一个服务器处理用户请求的时间确定的,具体确定方式,本发明不作限制。
在本发明的至少一个实施例中,所述获取单元110获取所述目标在线服务器响应所述服务网关中待处理请求的成功率包括:
所述获取单元110获取每个目标在线服务器中的待处理请求,进一步地,所述获取单元110计算所述待处理请求的第二数量,及计算所述待处理请求被成功响应的第三数量,根据所述第二数量及所述第三数量,确定所述目标在线服务器响应所述待处理请求的成功率。
例如:所述目标在线服务器有:服务器D、服务器E,所述服务器D中待处理请求的第二数量为100,所述获取单元110检测到所述待处理请求被成功响应的第三数量为80,因此,得到所述服务器D响应所述待处理请求的成功率为0.8,所述服务器E中待处理请求的第二数量为100,所述获取单元110检测到所述待处理请求被成功响应的第三数量为90,因此,得到所述服务器D响应所述待处理请求的成功率为0.9。
当所述成功率大于或者等于预设阈值时,所述确定单元114确定所述目标在线服务器为升级成功的服务器。
在本发明的至少一个实施例中,所述获取单元110获取成功率小于所述预设阈值的服务器作为升级失败的服务器,及获取所述升级失败的服务器的日志,从所述日志中获取未被成功响应的目标请求,及获取所述升级失败的服务器的第一版本信息,生成单元120根据所述目标请求及所述第一版本信息生成告警信息,所述加密单元121对所述告警信息进行加密处理,得到目标密文,当所述目标密文被成功解密时,所述显示单元122显示所述告警信息。
其中,其中,所述预设阈值的取值在本发明中不作限制。
进一步地,所述告警信息包括,但不限于:所述升级失败的服务器的成功率、所述升级失败的服务器的当前版本信息、不被成功响应的请求等。
通过上述实施方式,能够避免所述告警信息随意被篡改,提高所述告警信息的安全性。
由以上技术方案可以看出,本发明能够当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求,将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关,获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲,若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器,将所述目标离线服务器设置为在线状态,得到目标在线服务器,获取所述目标在线服务器响应所述服务网关中待处理请求的成功率,当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器,不仅能够在升级服务器的同时不丢失线程池信息,还使服务器升级后能够立即受制于服务网关。
如图3所示,是本发明实现服务器升级方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如服务器升级程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个服务器升级方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、发送单元111、升级单元112、设置单元113、确定单元114、计算单元115、排序单元116、提取单元117、分配单元118、执行单元119、生成单元120、加密单元121、显示单元122、封装单元123、测试单元124及检测单元125。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据等)等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种服务器升级方法,所述处理器13可执行所述多个指令从而实现:当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求;将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关;获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲;若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器;将所述目标离线服务器设置为在线状态,得到目标在线服务器;获取所述目标在线服务器响应所述服务网关中待处理请求的成功率;当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种服务器升级方法,其特征在于,所述方法包括:
当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求;
将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关;
获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲;
若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器;
将所述目标离线服务器设置为在线状态,得到目标在线服务器;
获取所述目标在线服务器响应所述服务网关中待处理请求的成功率;
当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
2.如权利要求1所述的服务器升级方法,其特征在于,在接收到服务器升级指令之前,所述方法还包括:
计算第一预设时间内所述服务网关中所有服务器的用户请求的目标数量;
当所述目标数量小于总数量时,获取所述所有服务器中每个服务器的第一请求,其中,所述总数量指所述所有服务器处于最大请求量时的用户请求量;
计算每个服务器中所述第一请求的第一数量;
对每个服务器按照所述第一数量从低到高进行排序,得到第一队列;
根据所述目标数量及所述总数量确定服务器的升级数量;
从所述第一队列中提取出前所述升级数量的服务器,作为所述待升级服务器集群。
3.如权利要求2所述的服务器升级方法,其特征在于,所述根据所述目标数量及所述总数量确定服务器的升级数量包括:
a、将所述所有服务器的个数进行减1运算;
b、计算进行所述减1运算后的所有服务器处于最大请求量时用户请求的总数量;
重复步骤a-b,直至当所述目标数量大于或者等于所述总数量时,计算所述减1运算的次数,作为所述升级数量。
4.如权利要求1所述的服务器升级方法,其特征在于,在将所述待处理请求发送至服务网关后,所述方法还包括:
生成反馈数据包,发送所述反馈数据包至所述离线服务器中;
根据负载均衡原则,将所述待处理请求分配至除所述离线服务器外的其他服务器中。
5.如权利要求1所述的服务器升级方法,其特征在于,在获取到所述离线服务器的线程池信息时,所述方法还包括:
根据所述线程池信息,确定该离线服务器完成所述线程池信息的目标时间;
当所述目标时间大于第二预设时间时,封装所述线程池信息,将封装后的线程池信息发送至所述服务网关,或者当所述目标时间小于或者等于所述第二预设时间时,等待所述线程池信息执行完毕。
6.如权利要求1所述的服务器升级方法,其特征在于,所述获取所述目标在线服务器响应所述服务网关中待处理请求的成功率包括:
获取每个目标在线服务器中的待处理请求;
计算所述待处理请求的第二数量,及计算所述待处理请求被成功响应的第三数量;
根据所述第二数量及所述第三数量,确定所述目标在线服务器响应所述待处理请求的成功率。
7.如权利要求1所述的服务器升级方法,其特征在于,所述方法还包括:
获取成功率小于所述预设阈值的服务器作为升级失败的服务器,及获取所述升级失败的服务器的日志;
从所述日志中获取未被成功响应的目标请求,及获取所述升级失败的服务器的第一版本信息;
根据所述目标请求及所述第一版本信息生成告警信息;
对所述告警信息进行加密处理,得到目标密文;
当所述目标密文被成功解密时,显示所述告警信息。
8.一种服务器升级装置,其特征在于,所述装置包括:
获取单元,用于当接收到服务器升级指令时,获取待升级服务器集群中每个待升级服务器的待处理请求;
发送单元,用于将所述待升级服务器设置为离线状态,得到离线服务器,并将所述待处理请求发送至服务网关;
所述获取单元,还用于获取所述离线服务器的线程池信息,其中,所述线程池信息用于表征所述离线服务器的线程池是否空闲;
升级单元,用于若所述离线服务器的线程池空闲,则对所述离线服务器进行服务器升级操作,得到目标离线服务器;
设置单元,用于将所述目标离线服务器设置为在线状态,得到目标在线服务器;
所述获取单元,还用于获取所述目标在线服务器响应所述服务网关中待处理请求的成功率;
确定单元,用于当所述成功率大于或者等于预设阈值时,确定所述目标在线服务器为升级成功的服务器。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的服务器升级方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的服务器升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015317.8A CN111277626B (zh) | 2020-01-07 | 2020-01-07 | 服务器升级方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010015317.8A CN111277626B (zh) | 2020-01-07 | 2020-01-07 | 服务器升级方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277626A true CN111277626A (zh) | 2020-06-12 |
CN111277626B CN111277626B (zh) | 2023-08-22 |
Family
ID=71000115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010015317.8A Active CN111277626B (zh) | 2020-01-07 | 2020-01-07 | 服务器升级方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277626B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785831A (zh) * | 2022-04-25 | 2022-07-22 | 北京兴竹同智信息技术股份有限公司 | 用于绿通车辆检测的检测算法升级方法及绿通检测系统 |
CN115271669A (zh) * | 2022-08-01 | 2022-11-01 | 成都龙祥思远科技有限公司 | 一种用于erp服务器的维护方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147551A1 (en) * | 2006-12-13 | 2008-06-19 | Bea Systems, Inc. | System and Method for a SIP Server with Online Charging |
CN102299940A (zh) * | 2010-06-25 | 2011-12-28 | 龚华清 | 一种不间断网络服务的软件升级方法 |
WO2014176832A1 (zh) * | 2013-04-28 | 2014-11-06 | 烽火通信科技股份有限公司 | 智能终端管理家庭网关的系统及方法 |
WO2017114213A1 (zh) * | 2015-12-31 | 2017-07-06 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统升级方法和装置 |
CN107656821A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及相关装置和服务器 |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN109451051A (zh) * | 2018-12-18 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
CN109815007A (zh) * | 2018-12-15 | 2019-05-28 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
-
2020
- 2020-01-07 CN CN202010015317.8A patent/CN111277626B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080147551A1 (en) * | 2006-12-13 | 2008-06-19 | Bea Systems, Inc. | System and Method for a SIP Server with Online Charging |
CN102299940A (zh) * | 2010-06-25 | 2011-12-28 | 龚华清 | 一种不间断网络服务的软件升级方法 |
WO2014176832A1 (zh) * | 2013-04-28 | 2014-11-06 | 烽火通信科技股份有限公司 | 智能终端管理家庭网关的系统及方法 |
WO2017114213A1 (zh) * | 2015-12-31 | 2017-07-06 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统升级方法和装置 |
CN107656821A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种业务流程的处理方法及相关装置和服务器 |
CN109271265A (zh) * | 2018-09-29 | 2019-01-25 | 平安科技(深圳)有限公司 | 基于消息队列的请求处理方法、装置、设备及存储介质 |
CN109815007A (zh) * | 2018-12-15 | 2019-05-28 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
CN109451051A (zh) * | 2018-12-18 | 2019-03-08 | 百度在线网络技术(北京)有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘新强;曾兵义;: "用线程池解决服务器并发请求的方案设计", 现代电子技术, no. 15 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785831A (zh) * | 2022-04-25 | 2022-07-22 | 北京兴竹同智信息技术股份有限公司 | 用于绿通车辆检测的检测算法升级方法及绿通检测系统 |
CN114785831B (zh) * | 2022-04-25 | 2023-06-13 | 北京兴竹同智信息技术股份有限公司 | 用于绿通车辆检测的检测算法升级方法及绿通检测系统 |
CN115271669A (zh) * | 2022-08-01 | 2022-11-01 | 成都龙祥思远科技有限公司 | 一种用于erp服务器的维护方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111277626B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035258B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN108681565B (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
CN111831485B (zh) | 数据恢复方法、装置、电子设备及介质 | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN111901327A (zh) | 云网络漏洞挖掘方法、装置、电子设备及介质 | |
CN112015663B (zh) | 测试数据录制方法、装置、设备及介质 | |
US11113244B1 (en) | Integrated data pipeline | |
CN113050900B (zh) | 屏幕分享方法、装置、设备及存储介质 | |
CN111797351A (zh) | 页面数据管理方法、装置、电子设备及介质 | |
CN111277626B (zh) | 服务器升级方法、装置、电子设备及介质 | |
CN111464589A (zh) | 智能合约处理方法、计算机设备及存储介质 | |
CN111641678A (zh) | 任务调度方法、装置、电子设备及介质 | |
CN112084486A (zh) | 用户信息验证方法、装置、电子设备及存储介质 | |
CN111881209A (zh) | 异构数据库的数据同步方法、装置、电子设备及介质 | |
CN111796936A (zh) | 请求处理方法、装置、电子设备及介质 | |
CN111814045A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN109800124A (zh) | Cpu使用率监控方法、装置、电子设备及存储介质 | |
CN113608751A (zh) | 推理服务平台的运行方法、装置、设备及存储介质 | |
CN112287318A (zh) | 跨应用程序登录方法、装置、设备及介质 | |
CN109981286B (zh) | 一种工作量证明计算的触发方法、装置及计算设备 | |
CN112395319B (zh) | 缓存共用方法、装置、服务器及存储介质 | |
CN115686746A (zh) | 访问方法、任务处理方法、计算设备及计算机存储介质 | |
CN112817742B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN115037790A (zh) | 异常注册识别方法、装置、设备及存储介质 | |
CN114610386A (zh) | H5与应用程序的交互方法、装置、设备及存储介质 |
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 |