CN103002039A - 服务器调度系统和方法 - Google Patents
服务器调度系统和方法 Download PDFInfo
- Publication number
- CN103002039A CN103002039A CN2012105401574A CN201210540157A CN103002039A CN 103002039 A CN103002039 A CN 103002039A CN 2012105401574 A CN2012105401574 A CN 2012105401574A CN 201210540157 A CN201210540157 A CN 201210540157A CN 103002039 A CN103002039 A CN 103002039A
- Authority
- CN
- China
- Prior art keywords
- service state
- service
- physical server
- lvs
- detects
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种服务器调度系统和方法,其中的方法包括:LVS在调度物理服务器集群前,向其上部署的服务状态检测客户端发起调用,使服务状态检测客户端检测物理服务器上的服务状态;其中,所述物理服务器集群的每台物理服务器上部署有服务状态检测服务端;所述服务状态检测服务端适于向所述服务状态检测客户端提供所述物理服务器上的服务状态;LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度;其中,所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。本发明能够提高LVS集群系统的吞吐量。
Description
技术领域
本发明涉及计算机网络领域,具体涉及一种服务器调度系统和方法。
背景技术
LVS(Linux虚拟服务器,Linux Virtual Server)集群技术是一种基于IP层和基于内容请求分发负载平衡调度的解决方法,其具有很好的吞吐率,可将请求均衡地转移到不同的服务器上执行,且能够自动屏蔽掉服务器的故障,从而可将一组物理服务器构成一个高性能的虚拟的物理服务器集群系统。
现有技术中LVS调度过程具体可以包括:LVS定期对服务集群的每台物理服务器上的服务进行健康检查,如果健康检查通过,则将用户请求向该台服务器分发,反之如果健康检查不通过,则把用户请求分发至其它能够检查通过的服务器上。这里,每台物理服务器为物理上的机器,服务为运行在每台物理服务器上的程序,检查通过表示相应服务器在后端的服务处于正常的状态;检查不通过则说明相应服务器在后端的服务已经下线;后端的服务下线主要可以包括如下两种情形:1、服务器上的服务程序停止运行,不能处理任何的请求,也即服务停止;2、服务器上的服务程序没有停止,但是,在上游截断交易请求发送到这台服务器上。
现有技术中,LVS对服务器的健康检查是定期执行的,这样,在LVS健康检查的每个周期时间间隔内,LVS并没有发起健康检查,故无从得知后端的服务的健康状况;现有技术中LVS调度采取的策略是,在LVS健康检查的每个周期时间间隔内,一味地认为上一次健康检查通过的物理服务器上服务都是健康的,并继续向相应的服务器分发用户请求。但是,上述策略存在很大的风险,因为针对服务集群的服务器,即使上一次检查通过,在后续周期时间间隔内服务下线的概率还是很大的;而在一台物理服务器上服务下线时,继续分发过去的用户请求全部都会失败,这段时间可能很短暂,或许几秒钟,或许十几秒钟;但在互联网应用系统中在短暂的时间内很有可能存在大量交易请求的,大量交易请求失败对互联网应用系统来说十分严重的事件,例如会降低系统的吞吐量。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提高LVS集群系统的吞吐量。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种服务器调度系统和方法。
依据本发明的一个方面,提供了一种服务器调度系统,包括:
LVS(Linux虚拟服务器),适于调用其上部署的服务状态检测客户端,使所述服务状态检测客户端检测物理服务器上的服务状态,并依据所述服务状态的检测结果,进行所述物理服务器集群的调度;及
物理服务器集群,其每台物理服务器上部署有服务状态检测服务端;其中,所述服务状态检测服务端适于向服务状态检测客户端提供所述物理服务器上的服务状态;
其中,所述LVS在调度所述物理服务器集群前,向其上部署的服务状态检测客户端发起调用;
所述LVS具体适于依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。
可选地,所述服务状态适于表示物理服务器上服务当前是否可用;
则所述LVS,具体适于调度所述物理服务器集群的服务当前可用的物理服务器。
可选地,所述服务状态适于表示物理服务器上服务当前的繁忙程度;
则所述LVS,具体依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
可选地,所述服务状态检测客户端包括:
连接建立模块,适于依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
请求发送模块,适于向建立连接的服务状态检测服务端发送查询请求;及
结果返回模块,适于依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
所述服务状态检测服务端包括:
查询模块,适于依据所述查询请求进行物理服务器上服务状态的查询;及
查询结果回传模块,适于向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
可选地,所述查询模块,具体适于依据所述查询请求在服务状态文件中进行查询,得到所述物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态依据运维人员对所述服务状态文件的操作确定。
可选地,所述LVS,具体适于在调用所述服务状态检测客户端时,向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数包括服务状态检测服务端的IP和端口;
则所述连接建立模块,具体适于查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。
可选地,所述调用结果返回模块,还适于在所述连接建立模块与相应的服务状态检测服务端建立连接失败时,向所述LVS返回服务不可用的调用结果。
可选地,所述物理服务器集群的每台物理服务器上还部署有启动装置;
所述启动装置,适于依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
根据本发明的另一方面,提供了一种服务器调度方法,包括:
LVS(Linux虚拟服务器)在调度物理服务器集群前,向其上部署的服务状态检测客户端发起调用,使所述服务状态检测客户端检测物理服务器上的服务状态;其中,所述物理服务器集群的每台物理服务器上部署有服务状态检测服务端;所述服务状态检测服务端适于向所述服务状态检测客户端提供所述物理服务器上的服务状态;
LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度;
所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。
可选地,所述服务状态适于表示物理服务器上服务当前是否可用;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS调度所述物理服务器集群的服务当前可用的物理服务器。
可选地,所述服务状态适于表示物理服务器上服务当前的繁忙程度;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
可选地,所述方法还包括:
所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
所述服务状态检测客户端向建立连接的服务状态检测服务端发送查询请求;
所述服务状态检测客户端依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询;
所述服务状态检测服务端向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
可选地,所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询的步骤具体为,依据所述查询请求在服务状态文件中进行查询,得到所述物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态依据运维人员对所述服务状态文件的操作确定。
可选地,所述LVS向其上部署的服务状态检测客户端发起调用的步骤,包括:LVS在调用所述服务状态检测客户端时,向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数包括服务状态检测服务端的IP和端口;
则所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接的步骤具体为,查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。
可选地,所述方法还包括:
所述服务状态检测客户端在所述连接建立模块与相应的服务状态检测服务端建立连接失败时,向所述LVS返回服务不可用的调用结果。
可选地,所述方法还包括:
所述物理服务器集群的每台物理服务器上部署有启动装置,所述启动装置依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
本发明的一种服务器调度系统和方法具有如下有益效果:
现有技术中LVS采取的策略是,在LVS健康检查的每个周期时间间隔内,一味地认为上一次健康检查通过的物理服务器上服务都是健康的,并继续向相应的服务器分发用户请求;但是,上一次健康检查通过的物理服务器上服务在后续周期时间间隔内服务下线的概率还是很大的,而在一台物理服务器上服务下线时,继续分发过去的用户请求全部都会失败;
本发明在LVS调度物理服务器集群前检测物理服务器上的服务状态,并依据所述服务状态的检测结果,进行所述物理服务器集群103的调度。
本发明的LVS调度可以依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器;这样,本发明能够在物理服务器上服务不可用时停止向对应的服务器分发用户请求;因此,相对于现有技术,本发明能够大大减少用户请求失败的情况,从而能够提高LVS集群系统的吞吐量。例如,上一次健康检查通过的服务器上某服务在后续周期时间间隔内因下线而变得不可用了,本发明在LVS调度前通过检测及时获取该服务的状态,故本发明的LVS调度能够在物理服务器上服务不可用时停止向对应的服务器分发用户请求。
本发明的LVS调度还可以调度所述物理服务器集群的可用物理服务器或最优物理服务器;由于最优的物理服务器能够在较少的时间内处理完成用户请求,因此,本发明能够提高用户请求的处理效率,从而能够提高LVS集群系统的吞吐量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅适于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种服务器调度系统的结构图;
图2示出了根据本发明一个实施例的一种服务器调度方法流程图;以及
图3示出了根据本发明一个实施例的一种服务器调度方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种服务器调度系统的结构图,具体可以包括:
LVS101,适于调用其上部署的服务状态检测客户端102,使所述服务状态检测客户端检测物理服务器上的服务状态,并依据所述服务状态的检测结果,进行所述物理服务器集群103的调度;及
物理服务器集群103,其每台物理服务器上部署有服务状态检测服务端104;其中,所述服务状态检测服务端104适于向服务状态检测客户端102提供所述物理服务器上的服务状态;
其中,所述LVS101在调度所述物理服务器集群103前,向其上部署的服务状态检测客户端102发起调用。
本发明的LVS调度方案具体可以包括:通过检测获取物理服务器集群103的物理服务器上的服务状态,并依据服务状态进行所述物理服务器集群103的调度。
在本发明的一种优选实施例中,所述LVS101,可以具体适于依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。
在本发明的另一种优选实施例中,所述服务状态适于表示物理服务器上服务当前是否可用;则所述LVS101,可具体适于调度所述物理服务器集群的服务当前可用的物理服务器。这样,本发明的LVS调度能够在物理服务器上服务不可用时停止向对应的服务器分发用户请求,以大大减少用户请求失败的情况,从而能够提高LVS集群系统的吞吐量。
在本发明的再一种优选实施例中,所述服务状态适于表示物理服务器上服务当前的繁忙程度;则所述LVS101,可具体依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
其中,物理服务器上服务当前的繁忙程度可以具有对应的等级或量化指标,如等级指标的一个示例为:空闲、轻度繁忙、重度繁忙,如量化指标的一个示例为0~100之间的数值,其中,数值越大表示越繁忙。这样,在评价所述物理服务器集群的物理服务器的质量时,物理服务器越繁忙,可以认为其质量越差,反之物理服务器越空闲,可以认为其质量越优。从而,在调度时,可以从所述物理服务器集群中选择最优的物理服务器进行调度。由于最优的物理服务器能够在较少的时间内处理完成用户请求,因此,本发明能够提高用户请求的处理效率,从而能够提高LVS集群系统的吞吐量。
服务状态检测客户端102和服务状态检测服务端104;
首先简单介绍计算机技术领域中客户端和服务端的原理。通常,计算机技术领域中,提供服务的一方被称为服务端(Server),接受服务的另一方被称作客户端(Client)。具体而言,服务端是一种有针对性的服务程序,运行服务端的电脑称之为“服务器”;客户端是指为客户提供本地服务的程序,需要与服务端互相配合运行;客户端和服务端,需要建立通信连接以保证服务的正常提供。
具体到本发明实施例,服务状态检测客户端102和服务状态检测服务端104分别作为一种客户端和一种服务端,互相配合运行以提供服务状态的检测这一服务。
本发明实施例中,服务状态检测客户端102可部署于LVS101上,以保证LVS及时获取得到服务状态。
本发明实施例中,服务状态检测服务端104可部署于物理服务器集群103的每台物理服务器上,通常,一台服务器上部署一个服务状态检测服务端104;本技术领域中公知的是,每台物理服务器上还会部署有适于提供用户请求处理服务的其它服务端以处理LVS101分发的用户请求,这样,服务状态检测服务端104就可以通过查询获取所属服务器之上的服务状态,并向服务状态检测客户端102提供相应的服务。
在发明实施例中,可通过IP来区分物理服务器集群103的不同服务器,也即,物理服务器集群103的不同服务器的IP是不同的;进一步,可通过端口来区分同一台服务器上的不同服务端,也即,同一台服务器上不同服务端的端口是不同的;这样,本发明能够通过IP和端口定位到服务状态检测服务端104,进一步,本发明的服务状态检测客户端102通过IP和端口,就可以建立到服务状态检测服务端104的通信连接。
LVS101和服务状态检测客户端102;
本发明实施例中,LVS101和服务状态检测客户端102之间可以是直接的调用关系。
在实际应用中,LVS101上可能部署有多个服务状态检测客户端102,故可以依据服务状态检测客户端ID(标识,Identity)来区分不同的服务状态检测客户端102;这样,将服务状态检测客户端ID作为调用参数,就可以实现对不同服务状态检测客户端102的调用。当然,本领域技术人员也可以采用其它参数来区分不同的服务状态检测客户端102,本发明对具体的区分参数及调用参数(例如可以将服务状态检测客户端ID和连接参数共同作为调用参数)不加以限制。
在实际应用中,物理服务器集群103的每台物理服务器可以将部署的服务状态检测服务端104的IP和端口上报给LVS101;这样,LVS101在欲获取物理服务器集群103的某台物理服务器上的服务状态时,可以将该台服务器上部署的服务状态检测服务端104的IP和端口携带在连接参数中,并传递给所调用的服务状态检测客户端102;由于IP能够适于区分物理服务器集群103的不同服务器,以及,端口能够适于区分同一台服务器上的不同服务端,因此,服务状态检测客户端102依据连接参数中服务状态检测服务端104的IP和端口,就知道该连接到哪个服务器的哪个服务状态检测服务端104。
服务状态检测客户端102和服务状态检测服务端104
本发明的一种实施例中,所述服务状态检测客户端102具体可以包括:
连接建立模块,适于依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
请求发送模块,适于向建立连接的服务状态检测服务端发送查询请求;及
结果返回模块,适于依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
则所述服务状态检测服务端104具体可以包括:
查询模块,适于依据所述查询请求进行物理服务器上服务状态的查询;及
查询结果回传模块,适于向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
服务状态检测客户端102的功能具体可以包括:连接服务状态检测服务端104以获取所述服务状态检测服务端104所属物理服务器上的服务状态,以及,依据所述服务状态检测服务端104回传的查询结果向LVS101返回调用结果;上述功能具体可以通过连接建立模块、请求发送模块和调用结果返回模块来实现。
在本发明的一种优选实施例中,连接建立模块可以依据所述连接参数中的服务状态检测服务端104的IP和端口,与相应的服务状态检测服务端104建立SOCKET(套接字)通信链路。
在本发明的一种应用示例中,请求发送模块向建立连接的服务状态检测服务端104的查询请求中可以携带有查询字符串信息(如QUERY);这里的查询字符串信息可由本领域技术人员在服务状态检测客户端102和服务状态检测服务端104两端约定,本发明对具体的查询串信息不加以限制这样,服务状态检测服务端104接到这个查询字符串信息之后就可以做出相应的查询动作。
本发明实施例中,服务状态检测客户端102向LVS101返回的调用结果可以作为LVS101进行调度的依据。例如,在本发明的一种应用示例中,所述调用结果具体可以包括:服务可用的调用结果和服务不可用的调用结果;或者,在本发明的另一种应用示例中,所述调用结果具体可以包括:所述服务状态检测服务端104所属物理服务器上的服务状态,LVS101依据所述服务状态检测服务端104所属物理服务器上的服务状态判断一台物理服务器上服务是否可用。由于在一台物理服务器上服务不可用时,继续分发过去的用户请求全部都会失败,故本发明可以采用将用户请求分发至服务可用的服务器的LVS调度策略,以避免在物理服务器上服务不可用时停止向对应的服务器分发用户请求。
在具体实现中,服务状态检测客户端102的内容可采用PHP(超级文本预处理语言,Hypertext Preprocessor)等语言编写,本发明对具体的服务状态检测客户端102的编写语言不加以限制。这里,PHP是一种嵌入HTML(超文本标记语言,Hypertext Markup Language)文档的脚本语言,在具体实现中,在LVS101上安装PHP解析器即可实现采用PHP编写的服务状态检测客户端102。
在具体实现中,服务状态检测服务端104的功能主要可以包括:户端102的连接请求和查询请求,依据查询请求进行所属物理服务器上的服务状态的查询,并回传相应的查询结果;上述功能可以通过查询模块和查询结果返回模块实现。
在具体实现中,服务状态检测服务端104的内容可采用C言编写,本发明对具体的服务状态检测服务端104的编写语言不加以限制。
本发明具有如下优点:
本发明的LVS调度可以依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器;这样,本发明能够在物理服务器上服务不可用时停止向对应的服务器分发用户请求;因此,相对于现有技术,本发明能够大大减少用户请求失败的情况,从而能够提高LVS集群系统的吞吐量。例如,上一次健康检查通过的服务器上某服务在后续周期时间间隔内因下线而变得不可用了,本发明在LVS调度前通过检测及时获取该服务的状态,故本发明的LVS调度能够在物理服务器上服务不可用时停止向对应的服务器分发用户请求。
本发明的LVS调度还可以调度所述物理服务器集群的可用物理服务器或最优物理服务器;由于最优的物理服务器能够在较少的时间内处理完成用户请求,因此,本发明能够提高用户请求的处理效率,从而能够提高LVS集群系统的吞吐量。
在本发明的一种优选实施例中,所述查询模块,可具体适于依据所述查询请求在服务状态文件中进行查询,得到所述服务状态检测服务端104所属物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述服务状态检测服务端所属物理服务器上的服务状态可依据运维人员对所述服务状态文件的操作确定。
本优选实施例中,服务状态文件的存储内容可依据运维人员对所述服务状态文件的操作确定,也即,运维人员可以根据所述服务状态检测服务端104所属物理服务器上服务的实际状态来对服务状态文件的存储内容进行更新。
例如,在本发明的一种优选实施例中,所述服务状态检测服务端所属物理服务器上的服务状态至少可以包括下列状态中的一个或者多个:服务正常状态(ONLINE);服务停止状态(DETACH);服务要求停止分发用户请求的状态(OFFLINE),则运维人员可以依据所述服务状态检测服务端104所属物理服务器上服务的实际状态,将服务状态文件的存储内容修改为上述三种状态中的任一。
例如,上一次健康检查通过的服务器上某服务在后续周期时间间隔内因下线而变得不可用了,则运维人员可以修改服务状态文件,将其中存储的服务状态修改为DETACH或者OFFLINE。
在本发明的另一种优选实施例中,所述服务状态检测服务端所属物理服务器上的服务状态至少可以包括下列状态中的一个或者多个:服务正常状态;服务停止状态;服务要求停止分发用户请求的状态;
则所述调用结果返回模块,可以具体适于在服务状态检测服务端回传的查询结果为服务正常状态时,向所述LVS101返回服务可用的调用结果;以及,在服务状态检测服务端回传的查询结果为服务停止状态或服务要求停止分发用户请求的状态时,向所述LVS101返回服务不可用的调用结果;
所述LVS101,则可以具体适于将用户请求分发至服务可用的服务器。
由于在一台物理服务器上服务不可用时,继续分发过去的用户请求全部都会失败,故本发明可以采用将用户请求分发至服务可用的服务器的LVS调度策略,以避免在物理服务器上服务不可用时停止向对应的服务器分发用户请求。
在具体实现中,物理服务器上服务可用和不可用可分别使用1和0的调用结果返回值,当然,1和0并不理解为本发明实施例中调用结果返回值的应用限制。
需要说明的是,本优选实施例中判断一台物理服务器上服务是否可用也可由LVS101来完成。例如,当然,LVS101可以直接依据所述服务状态检测服务端104所属物理服务器上的服务状态判断一台物理服务器上服务是否可用,例如,将服务正常状态判断为可用,将服务停止状态或服务要求停止分发用户请求的状态判断为不可用,将用户请求分发至服务可用的服务器等等,本发明对具体的判断一台物理服务器上服务是否可用的执行主体不加以限制。
在本发明的再一种优选实施例中,所述连接建立模块,可具体适于查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。由于IP能够适于区分物理服务器集群103的不同服务器,以及,端口能够适于区分同一台服务器上的不同服务端,故依据所述连接参数中的服务状态检测服务端的IP和端口所述连接建立模块能够定位到唯一的服务状态检测服务端。
在本发明实施例中,优选的是,所述调用结果返回模块,还可适于在所述连接建立模块与相应的服务状态检测服务端104建立连接失败时,向所述LVS101返回服务不可用的调用结果。本优选实施例认为,在所述连接建立模块与相应的服务状态检测服务端104建立连接失败时,LVS101不能连接到该服务状态检测服务端104所属服务器,故可以认为,该服务状态检测服务端104所属物理服务器上服务也是不可用的。
在本发明的一种优选实施例中,所述连接参数还至少可以包括下列参数中的一个或者多个:连接超时时间;重连次数。
对应于本优选实施例,可以依据所述连接超时时间和重连次数对所述连接建立模块进行限定。例如,在所述连接建立模块与相应的服务状态检测服务端104不能建立连接时,可以在所述连接超时时间或重连次数的条件下重新建立连接,如果还是连接不上,可以认为所述连接建立模块与相应的服务状态检测服务端104建立连接失败。
在本发明的另一种优选实施例中,所述物理服务器集群103的每台物理服务器上还可部署有启动装置;
所述启动装置,可具体适于依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
本发明实施例中,服务状态检测服务端104是对应于特定的IP和端口的,这样,服务状态检测服务端104启动时需要指定IP和端口,为了避免每次手动输入IP和端口以启动服务状态检测服务端104,本优选实施例可以依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端;在具体实现中,将IP和端口写在配置文件内,读取配置文件即可启动服务状态检测服务端104。
参照图2,示出了根据本发明一个实施例的一种服务器调度方法流程图,具体可以包括:
步骤201、LVS在调度物理服务器集群前,向其上部署的服务状态检测客户端发起调用,使所述服务状态检测客户端检测物理服务器上的服务状态;其中,所述物理服务器集群的每台物理服务器上部署有服务状态检测服务端;所述服务状态检测服务端适于向所述服务状态检测客户端提供所述物理服务器上的服务状态;
步骤202、LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度。
在本发明的一种优选实施例中,所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体可以为,LVS依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。。
在本发明的另一种优选实施例中,所述服务状态适于表示物理服务器上服务当前是否可用;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体可以为,LVS调度所述物理服务器集群的服务当前可用的物理服务器。。
在本发明的再一种优选实施例中,所述服务状态适于表示物理服务器上服务当前的繁忙程度;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体可以为,LVS依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
在本发明的一种优选实施例中,所述方法还可以包括:
所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
所述服务状态检测客户端向建立连接的服务状态检测服务端发送查询请求;
所述服务状态检测客户端依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询;
所述服务状态检测服务端向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
在本发明的另一种优选实施例中,所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询的步骤具体可以为,依据所述查询请求在服务状态文件中进行查询,得到所述物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态依据运维人员对所述服务状态文件的操作确定。
在本发明的再一种优选实施例中,所述LVS向其上部署的服务状态检测客户端发起调用的步骤,具体可以包括:LVS在调用所述服务状态检测客户端时,向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数包括服务状态检测服务端的IP和端口;
则所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接的步骤具体可以为,查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。
在本发明的一种优选实施例中,所述方法还可以包括:
所述服务状态检测客户端在所述连接建立模块与相应的服务状态检测服务端建立连接失败时,向所述LVS返回服务不可用的调用结果。
在本发明的一种优选实施例中,所述方法还可以包括:
所述物理服务器集群的每台物理服务器上部署有启动装置,所述启动装置依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
参照图3,示出了根据本发明一个实施例的一种服务器调度方法流程图,具体可以包括:
步骤301、LVS调用其上部署的服务状态检测客户端,并向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数具体可以包括服务状态检测服务端的IP和端口;
步骤302、服务状态检测客户端依据所述连接参数中的服务状态检测服务端的IP和端口,与相应的服务状态检测服务端建立SOCKET连接;
步骤303、服务状态检测客户端向建立连接的服务状态检测服务端发送查询请求;
步骤304、服务状态服务端依据所述查询请求在服务状态文件中进行查询,得到所述服务状态检测服务端所属物理服务器上的服务状态;所述服务状态检测服务端所属物理服务器上的服务状态至少可以包括下列状态中的一个或者多个:服务正常状态;服务停止状态;服务要求停止分发用户请求状态;
步骤305、服务状态服务端向服务状态检测客户端回传相应的查询结果,所述查询结果具体可以包括所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态适于表示物理服务器上服务当前是否可用;
步骤306、服务状态检测客户端在服务状态检测服务端回传的查询结果为服务正常状态时,向LVS返回服务可用的调用结果;以及,在服务状态检测服务端回传的查询结果为服务停止状态或服务要求停止分发用户请求的状态时,向LVS返回服务不可用的调用结果;
步骤307、在调用结果为服务不可用时,LVS停止向对应的服务器分发用户请求,以及,在调用结果为服务可用时,LVS向对应的服务器分发用户请求。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为适于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (16)
1.一种服务器调度系统,包括:
LVS(Linux虚拟服务器),适于调用其上部署的服务状态检测客户端,使所述服务状态检测客户端检测物理服务器上的服务状态,并依据所述服务状态的检测结果,进行所述物理服务器集群的调度;及
物理服务器集群,其每台物理服务器上部署有服务状态检测服务端;其中,所述服务状态检测服务端适于向服务状态检测客户端提供所述物理服务器上的服务状态;
其中,所述LVS在调度所述物理服务器集群前,向其上部署的服务状态检测客户端发起调用;
所述LVS具体适于依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。
2.如权利要求1所述的系统,所述服务状态适于表示物理服务器上服务当前是否可用;
则所述LVS,具体适于调度所述物理服务器集群的服务当前可用的物理服务器。
3.如权利要求1所述的系统,所述服务状态适于表示物理服务器上服务当前的繁忙程度;
则所述LVS,具体依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
4.如权利要求1所述的系统,所述服务状态检测客户端包括:
连接建立模块,适于依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
请求发送模块,适于向建立连接的服务状态检测服务端发送查询请求;及
结果返回模块,适于依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
所述服务状态检测服务端包括:
查询模块,适于依据所述查询请求进行物理服务器上服务状态的查询;及
查询结果回传模块,适于向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
5.如权利要求4所述的系统,所述查询模块,具体适于依据所述查询请求在服务状态文件中进行查询,得到所述物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态依据运维人员对所述服务状态文件的操作确定。
6.如权利要求4所述的系统,所述LVS,具体适于在调用所述服务状态检测客户端时,向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数包括服务状态检测服务端的IP和端口;
则所述连接建立模块,具体适于查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。
7.如权利要求4所述的系统,所述调用结果返回模块,还适于在所述连接建立模块与相应的服务状态检测服务端建立连接失败时,向所述LVS返回服务不可用的调用结果。
8.如权利要求1或4所述的系统,所述物理服务器集群的每台物理服务器上还部署有启动装置;
所述启动装置,适于依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
9.一种服务器调度方法,包括:
LVS(Linux虚拟服务器)在调度物理服务器集群前,向其上部署的服务状态检测客户端发起调用,使所述服务状态检测客户端检测物理服务器上的服务状态;其中,所述物理服务器集群的每台物理服务器上部署有服务状态检测服务端;所述服务状态检测服务端适于向所述服务状态检测客户端提供所述物理服务器上的服务状态;
LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度;
其中,所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS依据所述服务状态的检测结果,调度所述物理服务器集群的可用物理服务器或最优物理服务器。
10.如权利要求9所述的方法,所述服务状态适于表示物理服务器上服务当前是否可用;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS调度所述物理服务器集群的服务当前可用的物理服务器。
11.如权利要求9所述的方法,所述服务状态适于表示物理服务器上服务当前的繁忙程度;
则所述LVS依据所述服务状态的检测结果,进行所述物理服务器集群的调度的步骤具体为,LVS依据物理服务器上服务当前的繁忙程度,评价所述物理服务器集群的物理服务器的质量,并调度所述物理服务器集群的最优的物理服务器。
12.如权利要求9所述的方法,还包括:
所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接;
所述服务状态检测客户端向建立连接的服务状态检测服务端发送查询请求;
所述服务状态检测客户端依据服务状态检测服务端回传的查询结果向所述LVS返回服务状态的检测结果;
所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询;
所述服务状态检测服务端向服务状态检测客户端回传相应的查询结果,所述查询结果包括物理服务器上的服务状态。
13.如权利要求12所述的方法,所述服务状态检测服务端依据所述查询请求进行物理服务器上服务状态的查询的步骤具体为,依据所述查询请求在服务状态文件中进行查询,得到所述物理服务器上的服务状态;所述服务状态文件适于存储所述服务状态检测服务端所属物理服务器上的服务状态;所述物理服务器上的服务状态依据运维人员对所述服务状态文件的操作确定。
14.如权利要求12所述的方法,所述LVS向其上部署的服务状态检测客户端发起调用的步骤,包括:LVS在调用所述服务状态检测客户端时,向所调用的服务状态检测客户端传递相应的连接参数;所述连接参数包括服务状态检测服务端的IP和端口;
则所述服务状态检测客户端依据所述LVS的调用,与相应的服务状态检测服务端建立连接的步骤具体为,查找与所述连接参数中的服务状态检测服务端的IP和端口相应的服务状态检测服务端,并与查找得到的服务状态检测服务端建立SOCKET通信链路。
15.如权利要求12所述的方法,还包括:
所述服务状态检测客户端在所述连接建立模块与相应的服务状态检测服务端建立连接失败时,向所述LVS返回服务不可用的调用结果。
16.如权利要求9或12所述的方法,还包括:
所述物理服务器集群的每台物理服务器上部署有启动装置,所述启动装置依据配置文件中存储的IP和端口,启动每台物理服务器上部署的服务状态检测服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105401574A CN103002039A (zh) | 2012-12-13 | 2012-12-13 | 服务器调度系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105401574A CN103002039A (zh) | 2012-12-13 | 2012-12-13 | 服务器调度系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103002039A true CN103002039A (zh) | 2013-03-27 |
Family
ID=47930172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105401574A Pending CN103002039A (zh) | 2012-12-13 | 2012-12-13 | 服务器调度系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103002039A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993953A (zh) * | 2015-06-19 | 2015-10-21 | 北京奇虎科技有限公司 | 检测网络服务状态的方法和装置 |
CN105978938A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种业务处理设备的业务状态确定方法及调度设备 |
CN109788068A (zh) * | 2019-02-14 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 心跳状态信息上报方法、装置和设备及计算机存储介质 |
CN110708196A (zh) * | 2019-09-30 | 2020-01-17 | 中国工商银行股份有限公司 | 数据处理方法及装置 |
CN111240857A (zh) * | 2020-01-03 | 2020-06-05 | 上海瀚之友信息技术服务有限公司 | 一种远程服务调用系统及调用方法 |
CN112671923A (zh) * | 2020-12-29 | 2021-04-16 | 深圳一科互联有限公司 | 一种统一接口服务通讯调度方法及装置 |
WO2022017398A1 (zh) * | 2020-07-21 | 2022-01-27 | 杭州海康威视数字技术股份有限公司 | 建立通信连接的方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567173A (zh) * | 2003-07-05 | 2005-01-19 | 华为技术有限公司 | 一种实现加权最小连接分配的服务器负载均衡方法 |
CN101561774A (zh) * | 2009-03-31 | 2009-10-21 | 深圳创维数字技术股份有限公司 | 一种自定义协议服务程序的监测方法及监测系统 |
-
2012
- 2012-12-13 CN CN2012105401574A patent/CN103002039A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567173A (zh) * | 2003-07-05 | 2005-01-19 | 华为技术有限公司 | 一种实现加权最小连接分配的服务器负载均衡方法 |
CN101561774A (zh) * | 2009-03-31 | 2009-10-21 | 深圳创维数字技术股份有限公司 | 一种自定义协议服务程序的监测方法及监测系统 |
Non-Patent Citations (1)
Title |
---|
古奋飞等: "浅析Linux集群技术", 《电脑知识与技术》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993953A (zh) * | 2015-06-19 | 2015-10-21 | 北京奇虎科技有限公司 | 检测网络服务状态的方法和装置 |
CN105978938A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种业务处理设备的业务状态确定方法及调度设备 |
WO2017185615A1 (zh) * | 2016-04-25 | 2017-11-02 | 乐视控股(北京)有限公司 | 一种业务处理设备的业务状态确定方法及调度设备 |
CN109788068A (zh) * | 2019-02-14 | 2019-05-21 | 腾讯科技(深圳)有限公司 | 心跳状态信息上报方法、装置和设备及计算机存储介质 |
CN109788068B (zh) * | 2019-02-14 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 心跳状态信息上报方法、装置和设备及计算机存储介质 |
CN110708196A (zh) * | 2019-09-30 | 2020-01-17 | 中国工商银行股份有限公司 | 数据处理方法及装置 |
CN110708196B (zh) * | 2019-09-30 | 2022-04-22 | 中国工商银行股份有限公司 | 数据处理方法及装置 |
CN111240857A (zh) * | 2020-01-03 | 2020-06-05 | 上海瀚之友信息技术服务有限公司 | 一种远程服务调用系统及调用方法 |
CN111240857B (zh) * | 2020-01-03 | 2023-02-21 | 上海瀚之友信息技术服务有限公司 | 一种远程服务调用系统及调用方法 |
WO2022017398A1 (zh) * | 2020-07-21 | 2022-01-27 | 杭州海康威视数字技术股份有限公司 | 建立通信连接的方法、装置、设备及计算机可读存储介质 |
CN112671923A (zh) * | 2020-12-29 | 2021-04-16 | 深圳一科互联有限公司 | 一种统一接口服务通讯调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103095683A (zh) | 一种Linux虚拟服务器调度系统和方法 | |
CN103002039A (zh) | 服务器调度系统和方法 | |
US20130018803A1 (en) | System and method for providing technical support through a remote session | |
CN104915285A (zh) | 一种容器进程监控方法、装置及系统 | |
CN108076098A (zh) | 一种业务处理方法及系统 | |
US11269705B2 (en) | Method and apparatus for outputting information | |
CN109426510B (zh) | 软件处理方法、装置、电子设备及计算机可读存储介质 | |
CN107872528A (zh) | 消息推送方法及装置 | |
CN106941420B (zh) | 一种集群应用环境升级方法及装置 | |
CN105653318A (zh) | 软件升级方法、装置及系统 | |
CN105471968B (zh) | 一种数据交换方法、系统以及数据平台服务器 | |
CN108471359A (zh) | 一种网站访问异常监控方法、装置和介质 | |
CN114064208A (zh) | 检测应用服务状态的方法、装置、电子设备及存储介质 | |
CN105988882B (zh) | 一种应用软件故障修复方法及终端设备 | |
CN111865673A (zh) | 一种自动化故障管理方法、装置及系统 | |
CN103440453A (zh) | 浏览器运行环境检测方法、客户端、服务器及系统 | |
CN102982145A (zh) | 分配数据库操作请求的系统 | |
CN101364191A (zh) | 计算机系统硬件的服务方法、引导解决错误的方法与系统 | |
CN108965403A (zh) | 运维监控连接的建立方法及终端设备 | |
CN111459492A (zh) | Dubbo服务接口兼容性检测方法、装置、存储介质及设备 | |
CN106681852A (zh) | 一种浏览器兼容性的调整方法及装置 | |
CN112887355A (zh) | 异常服务器的业务处理方法及装置 | |
CN106294058A (zh) | 处理运营问题单据的目标策略确定方法及装置 | |
CN114416807A (zh) | 一种客户账户的数据合并方法、装置及系统 | |
GB2416883A (en) | Processing of callers in a call centre using distributed processing modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130327 |
|
RJ01 | Rejection of invention patent application after publication |