CN100367217C - 支持大量间歇使用的应用集群的方法和系统 - Google Patents
支持大量间歇使用的应用集群的方法和系统 Download PDFInfo
- Publication number
- CN100367217C CN100367217C CNB200510107510XA CN200510107510A CN100367217C CN 100367217 C CN100367217 C CN 100367217C CN B200510107510X A CNB200510107510X A CN B200510107510XA CN 200510107510 A CN200510107510 A CN 200510107510A CN 100367217 C CN100367217 C CN 100367217C
- Authority
- CN
- China
- Prior art keywords
- application
- cluster
- application cluster
- dormancy
- active
- 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.)
- Expired - Fee Related
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本发明提供了用于支持大量间歇使用的应用集群的方法和系统,而始终不消耗完运行所有应用集群服务器进程所需的所有资源。根据本发明的方法包括:在保持区保持对休眠应用集群的应用请求;将休眠应用集群的状态改变为活动状态;将未使用的活动应用集群的状态改变为休眠状态;停止新休眠应用集群的服务器进程;启动新活动应用集群的服务器进程;并且将保持在保持区的应用请求导向新活动的应用集群的服务器进程。
Description
技术领域
本发明一般性地涉及网络计算。特别地,本发明提供了支持大量间歇使用的应用集群的方法和系统。
背景技术
图1描述了示意性现有技术系统10,其中,基于活动应用集群24及其在主机群18中的位置的列表19,使用路由器和负载均衡器12从多个客户机16(例如web浏览器等的web客户端)向运行在主机群18上的应用集群24(例如,运行web应用的服务器)传送应用请求14。主机群18包括数台主机20,每个主机20通常运行多个服务器进程22。每个服务器进程22服务于一个特定的应用集群24(例如,应用集群“a”,“b”,或者“c”),并且该应用集群24可有几个专用于它的服务器进程22。服务器进程22是其服务的应用集群24的“成员”。在图1中,存在三个应用集群24。标记(即,标记为“a”,“b”,或者“c”)每个服务器进程22以指示该服务器进程22支持的应用集群24。应用布置系统28确定每个应用集群24的服务器进程22的数量,并确定在主机群18中的何处放置每一个服务器进程22。可以手动(例如,通过操作员,管理员等)或者自动地执行应用布置。假定系统10的操作在本领域技术人员的理解范围内。因此,在此不提供系统10的操作的具体讨论。
系统10不能对大量的应用集群24进行有效的衡量,尤其当应用集群24不是在任意给定的时刻全部同时使用的时候。例如,考虑系统10不是只支持三个应用群集,而是支持数以百计或者千计的应用集群24的情况。由于主机20的物理限制导致每个主机20只能运行有限数目的服务器进程22,因此将需要大量的主机20来提供支持大量应用集群24所需的所有服务器进程22。并且,相当部分的应用集群24在任意给定的时刻可能是未被使用的,这导致了低的资源利用率。
因此,需要响应时变负荷或其他事件,自动地启动和终止用于应用集群的服务器进程。
发明内容
一般地,本发明提供了一种用于支持大量间歇使用的应用集群的方法和系统,其中始终不消耗完运行所有应用集群的服务器进程所需的所有资源。特别地,本发明响应于时变提供的负荷或其他事件(例如,一天之内的时间,用户策略等),自动地启动和终止主机群中应用集群的服务器进程。这解放出主机容量,于是可利用该容量运行其他应用集群的附加服务器进程,或者服务于其他需要。因此,与其能够并发运行的进程相比,该主机群能支持更多的服务器进程。
本发明将应用集群分成两组:活动的和休眠的。根据设置的策略来确定应用集群是活动的还是休眠的,并且可能有几种不同类型的策略。当应用集群处于休眠状态时,应用布置系统可停止部分或全部的集群成员,以释放出用于其他用途的计算容量。提供“保持区”以临时保持对没有服务器进程的应用集群的应用请求。响应于接收到对此种应用集群(必定是休眠状态的)的应用请求,使该应用集群处于活动状态,为该应用集群启动某些服务器进程,临时保持的请求被导向新的服务器进程。
本发明的第一方面涉及用于支持大量间歇使用的应用集群的方法,该方法包括:在保持区保持对休眠应用集群的应用请求;将休眠应用集群的状态改变为活动状态;将未使用的活动应用集群的状态改变为休眠状态;停止新休眠的应用集群的服务器进程;启动新活动的应用集群的服务器进程;以及将保持在保持区的应用请求导向新活动的应用集群的服务器进程。应注意,根据本发明的具体实施和其他因素,以上方法步骤可以以多种不同顺序(甚至同时地)执行。例如,未被使用的活动应用集群的状态能被改变为休眠,并且在新活动的应用集群实际需要那些服务器进程之前,停止其对应的服务器进程。就这一点而论,不打算以任何方式限制方法步骤的顺序。
本发明的第二方面涉及一种用于支持大量间歇使用的应用集群的系统,该系统包括:用于保持对休眠应用集群的应用请求的保持区;用于将休眠应用集群的状态改变为活动状态的系统;用于将未使用的活动应用集群的状态改变为休眠状态的系统;用于停止新休眠的应用集群的服务器进程的系统;用于启动新活动的应用集群的服务器进程的系统;以及用于将保持在保持区的应用请求导向新活动的应用集群的服务器进程的系统。
本发明的第三方面涉及一种存储在可记录介质上、用于支持大量间歇使用的应用集群的程序产品,当其被执行时,该程序产品包括:用于在保持区保持对休眠应用集群的应用请求的程序代码;用于将休眠应用集群的状态改变为活动状态的程序代码;用于将未使用的活动应用集群的状态改变为休眠状态的程序代码;用于停止新休眠的应用集群的服务器进程的程序代码;用于启动新活动的应用集群的服务器进程的程序代码;以及用于将保持在保持区的应用请求导向新活动的应用集群的服务器进程的程序代码。
本发明的第四方面涉及一种部署用于支持大量间歇使用的应用集群的应用的方法,该方法包括:提供能进行以下操作的计算机基础架构:在保持区保持对休眠应用集群的应用请求;将休眠的应用集群的状态改变为活动状态;将未使用的活动应用集群的状态改变为休眠状态;停止新休眠的应用集群的服务器进程;启动新活动的应用集群的服务器进程;并且将保持在保持区的应用请求导向新活动的应用集群的服务器进程。
本发明的第五个方面涉及一种体现在传播信号中的用于支持大量间歇性使用的应用集群的计算机软件,该计算机软件包括使计算机系统执行下述功能的指令:在保持区保持对休眠应用集群的应用请求;将休眠应用集群的状态改变为活动状态;将未使用的活动应用集群的状态改变为休眠状态;停止新休眠的应用集群的服务器进程;启动新活动的应用集群的服务器进程;并且将保持在保持区的应用请求导向新活动的应用集群的服务器进程。
附图说明
通过下面结合附图对本发明的各方面的具体描述,将更容易理解本发明的这些和其他特征,其中:
图1根据现有技术,描述了用于从多个客户机向主机群中的应用集群传送应用请求的系统。
图2根据本发明的实施例,描述了用于从多个客户机向主机群中的应用集群传送应用请求的系统。
图3描述了根据本发明实施例的方法的流程图。
图4描述了图2所示系统的一部分。
图5根据本发明的另一个实施例,描述了用于从多个客户机向主机群中的应用集群传送应用请求的系统。
图6描述了用于实现本发明的计算机系统。
附图只是示意性的表示,不是旨在说明本发明的具体参数。附图旨在描述本发明的典型实施例,因此不应被理解为限制本发明的范围。在附图中,相同数字代表相同单元。
具体实施方式
如上所指述,本发明提供了一种用于支持大量间歇性使用的应用集群的方法和系统,其中始终不消耗完运行所有应用集群的服务器进程所需的所有资源。特别地,本发明响应时变提供的负荷或其他事件(例如,当天的时间,用户策略等),自动地启动和终止主机群中的应用集群的服务器进程。这解放出了主机容量,使得可利用该主机容量运行活动应用集群的附加服务器进程,或者服务于其他需要。因此,与其能够并发运行的进程相比,该主机群能支持更多的服务器进程。
图2说明了根据本发明实施例的系统100,其中,根据活动应用集群116及其在主机群108中的位置的列表110,使用路由器和负载均衡器102从多个客户机106向运行在主机群108上的应用集群116传送应用请求104。主机群108包括数台主机(节点)112,每个主机112通常运行多个服务器进程114。每个服务器进程114服务于一个特定的应用集群116(例如,应用集群“a”,“b”,...“f”),并且该应用集群116可以有数个专用于它的服务器进程114。应用集群116中的服务器进程114也被称为集群成员。
在图2中,应用集群116“a”,“b”,和“c”当前处于活动状态,而应用集群116“d”,“e”,和“f”当前处于休眠状态。当前活动的和休眠的应用集群116的列表120,122被存储在存储单元124(例如,数据库)中。活动的和休眠的应用集群116的列表120,122不必是图2所示的外部数据库。例如,能通过标记已经保存在其他地方(例如,在后述的应用布置管理器128中和/或活动应用替代管理器130中)的信息来维护列表120,122。
应用布置系统126确定每个活动应用集群116所需的服务器进程114的数量,并确定在主机群108的主机112上的何处放置该服务器进程114。可以手动(例如,通过操作员,管理员等)或者自动地执行应用布置。图2所示的应用布置系统126能提供对活动应用集群116及其位置的列表110的更新。也可由其他来源,包括例如主机112和/或服务器进程114自身,或者通过系统100中的某些其他管理部件来提供更新。
系统100包括至少一个保持区128,用于临时保持对休眠应用集群116的应用请求104。在图2中,例如,路由器和负载均衡器102已经接收了对应用集群“f”的应用请求。路由器和负载均衡器102已确定或者已被告知应用集群“f”是休眠的,并已向保持区128发送对应用集群“f”的应用请求104。在图中,无阴影的三角形表示对活动应用集群116的应用请求104,有阴影的三角形表示对休眠应用集群116的应用请求104。保持区128可以包括缓冲器或其他合适的存储设备。一般地,保持区128保持因为针对当前没有服务器进程114的休眠应用集群116而不能立刻被服务的应用请求104。应注意,可在本发明的实践中使用任何合适的现在已知的或者以后开发的路由器和负载均衡器102。
应用集群116的休眠状态可由路由器和负载均衡器102以多种不同的方式确定,或以多种不同方式提供给路由器和负载均衡器102。例如,路由器和负载均衡器102能检查由应用布置系统126提供的活动应用集群116及其位置的列表110,来确定对应于从客户机106接收到的应用请求104的应用集群116是活动的还是休眠的。也可以有其他用于确定应用集群116的休眠的技术。无论应用集群116的休眠是如何确定的,路由器和负载均衡器102均向保持区128传送对休眠应用集群116的应用请求104。
如图所示,保持区128可以是系统100的单独子系统,也可以被内置于路由器和负载均衡器102中。保持区128也可以位于系统100中的其他位置。例如,从路由器和负载均衡器102(也参见图5)的角度看,保持区128可作为正常服务器进程114出现。这允许保持区128在不必改变路由器和负载均衡器102的情况下工作。这意味着本发明可以广泛多样的方式应用于提供路由和负载平衡的系统。在该情况下,路由器和负载均衡器102将不区分休眠应用集群116和活动应用集群116。相反地,不管应用集群116是休眠的,或者是活动的,应用布置系统126均将向路由器和负载均衡器102通知每个应用集群116,设置路由器和负载均衡器102以便向保持区128传送对没有服务器进程114的每个应用集群116的请求,并且设置路由器和负载均衡器102以便将针对具有某些服务器进程114的每个应用集群116的应用请求104传送给那些服务器进程。应当注意,在某些情况下,可以允许休眠应用集群116保持某些服务器进程,直至为一些其他任务而确定地需要其计算容量。
可以以多种方式完成使应用请求104从一个间歇性进程到另一个(例如,从路由器和负载均衡器102到保持区128,从保持区128到服务器进程114等)的过程。例如,其可包含直接转发。一个可选方式是向客户机106返回附有注解说明的应用请求104,该注解说明表示向期望目的地重新传送应用请求104(例如,在300范围内的超文本传输协议响应代码,其通知进行重定向)。进一步地,能在客户机106上有效地定位保持区128如下:为了将应用请求104放置在保持区中,向客户机106返回应答,使得客户机106暂停一段时间,然后再次发送应用请求。
系统100进一步包括活动应用替代管理器130,用于改变应用集群116的活动/休眠状态。保持区128告知活动应用替代管理器130已经接收到对休眠应用集群116的应用请求104。作为应答,活动应用替代管理器130将主机群108中未使用的当前处于活动状态的应用集群116的状态改变为休眠状态,将由在保持区128中保持的应用请求104所请求的休眠应用集群116的状态改变为活动状态。相应更新活动和休眠应用集群116的列表120,122,向活动应用集群116及其位置的列表110通知有关新休眠应用集群116的情况。根据更新的列表120,122,应用布置系统126停止对应于新休眠应用集群116的应用集群116中的(某些或者全部)服务器进程114,并启动若干服务器进程114,以启动主机群108中对应于新活动应用集群116的应用集群116。应注意,可以将应用布置系统126提供的功能合并进活动应用替代管理器130中。新启动的应用集群116的更新状态被反映在活动应用集群116及其位置的列表110中。然后,保持区128向路由器和负载均衡器102转发对新启动的应用集群116的应用请求104,然后,路由器和负载均衡器102转发应用请求104到主机群108中的相应服务器进程114以提供服务。
活动应用替代管理器130监视主机群108中的当前活动的应用集群116的使用情况,并根据该使用情况决定将哪个活动应用集群116改变为休眠。例如,如果应用集群116在过去的一定时间内还没有接收到应用请求104,则活动应用替代管理器130可以认为该应用集群116应被改为休眠状态。可从系统100中几个不同的来源,包括例如路由器和负载均衡器102,主机112,服务器进程114,或者从一些其他的管理部件获得应用使用数据。也可有其他多种用于确定应用使用情况的技术。活动应用替代管理器130还可以使用其他策略,条件,计划等(可以考虑到或没有考虑到应用使用情况)来确定将哪个活动应用集群116改为休眠状态。
图3图解了根据本发明实施例的方法的示意流程图200。在流程图300的下述描述中,将参照图2所示的系统100的部件。流程图200中所参照的步骤在图2中也进行了说明。
在步骤S1中,路由器和负载均衡器102接收客户机106所发送的应用请求104(例如,针对应用集群“f”的)。在步骤S2中,路由器和负载均衡器102确定或者被告知在主机群108中应用集群“f”是否有服务器进程114。如果该应用请求104是针对具有一些服务器进程114的应用集群116的请求,则以常规方式处理应用请求104(步骤S10)。在步骤S3中,对休眠应用集群“f”的应用请求104被传送给保持区128。在接收到对休眠应用集群“f”的应用请求104之后,保持区128通知活动应用替代管理器130已经接收(步骤S4)了对休眠应用集群“f”的应用请求104。在步骤S5中,在收到有关保持区128已经接收了对休眠应用集群“f”的应用请求104的通知后,活动应用替代管理器130将至少一个当前是活动状态但未使用的应用集群116(例如,应用集群“c”)的状态改变为休眠状态,并将体眠应用集群“f”的状态改变为活动状态。在步骤S6中,更新活动和体眠应用集群116的列表120,122,并更新活动应用集群116及其位置的列表110,以反映出新休眠应用集群“c”的休眠。在步骤S7中,基于被更新的列表120,122,应用布置系统126停止对应于新休眠应用集群“c”的应用集群116中的(某些或者全部)服务器进程114,并在主机群108中启动新启动的应用集群“f”的若干服务器进程114。图4例示了主机群108如何在过程中观察此点。如图4所示,主机群108现包括应用集群“f”的服务器进程114,而不存在应用集群“c”的服务器进程114。在步骤S8中,针对新启动的应用集群“f”,活动应用集群116及其位置的列表110被更新。在步骤S9中,从保持区128向路由器和负载均衡器102转发对新启动的应用集群“f”的应用请求104,然后路由器和负载均衡器102向主机群108中的相应服务器进程114转发(步骤S10)对新启动的应用集群“f”的应用请求104以提供服务(也见图4)。当通过向客户机106发送消息以指示客户机106在超时后重新发送应用请求104来实现保持区128时,步骤S9将由客户机106或者客户机代理执行。
图5图解了根据本发明的另一实施例,用于从多个客户机106向主机群108中的应用集群116传送应用请求104的系统300。在系统300中,持区128现在被提供作为主机群108中主机112上的服务器进程114。在操作中,路由器和负载均衡器102接收(步骤A,图5)客户机106发送的应用请求104(例如,应用集群“f”的)。当应用集群116是休眠状态时,路由器和负载均衡器102被设置为向保持区128的服务器进程(运行在图5示例中的节点4上)传送对休眠应用集群116的应用请求104。保持区128象正常服务器进程一样运作,只要涉及路由器和负载均衡器102或者浏览器。因此,不需要改变当前的负载平衡和路由技术。在本实施例中,路由器和负载均衡器102不区分休眠和活动应用集群116,并以常规的方式进行配置。当应用集群116是活动状态时,路由器和负载均衡器102被配置成向活动应用集群116的成员传送对活动应用集群116的应用请求104。
在接收了对休眠应用集群“f”的应用请求104之后,保持区128告知活动应用替代管理器130已经接收到对休眠应用集群“f”的应用请求104(步骤D)。在接收到保持区128已经接收了对休眠应用集群“f”的应用请求104的通知后,活动应用替代管理器130将主机群108中处于活动状态但未使用的应用集群116(例如,应用集群“c”)的状态改变为休眠,并将休眠应用集群“f”的状态改变为活动(步骤E)。然后活动和休眠应用集群116的列表120,122被更新(步骤F),并且活动应用集群116及其位置的列表110被更新以反映新休眠应用集群“c”的休眠(步骤G)。路由器和负载均衡器102将对新休眠应用集群“c”的应用请求104导向保持区128。根据更新后的活动和休眠应用集群116的列表120,122,应用布置系统126停止应用集群116中的对应于新休眠应用集群“c”的(某些或者全部)服务器进程114,并在主机群108中启动对应于新启动的应用集群“f”的若干服务器进程114(步骤H)。然后,活动应用集群116及其位置的列表110被更新(步骤I),以包括新启动的应用集群“f”。然后,活动应用替代管理器130通知保持区128对应于保持区128中保持的应用请求104的应用集群“f”已经启动(步骤J)。然后,保持区128向主机群108中相应服务器进程114转发对新启动的应用集群“f”的应用请求以提供服务(步骤K)。
图5图解了用于实施本发明的说明性系统500。说明性系统500仅是可用于本发明的实践中的诸多不同系统中的一个,并且不是限定性的。
系统500包括计算机系统502等,其可以提供这里所述的功能。计算机系统502通过网络504被连接到至少一个客户机106和包含多台主机112的主机群108。网络504旨在代表能传输数据的任何类型的网络。例如,网络504可以包括因特网,广域网(WAN),局域网(LAN),虚拟专用网(VPN),WiFi网,个人局域网(PAN),或者其他类型的网络。因此,可以经由直接硬接线连接或者在客户机-服务器(或者服务器-服务器)的环境(可以使用有线和/或者无线传输方式的任意组合)中的可寻址连接进行通信。在后一个实例中,服务器和客户机可以使用常规网络连接,例如令牌环,以太网,WiFi或者其他常规的通信标准。在客户机与服务器经由因特网进行通信的情况下,可通过常规的基于TCP/IP套接字的协议提供连通性。在本实例中,客户机将利用因特网服务提供商建立到计算机系统502的连接。
实践本发明所需的数据(例如,活动应用集群116及其位置的列表110,活动和休眠应用集群116的列表120,122等)可以被本地存储到计算机系统502中,例如,存储在存储单元506中,和/或可以通过例如网络504的网络来提供。存储单元506可以包括在本发明中能够提供数据和信息存储的任何系统。同样地,存储单元506可位于单一物理位置,包括一种或多种数据存储类型,或者可以以多种形式分布于多个物理系统上。在另一个实施例中,存储单元506可以分布在例如局域网(LAN)上,广域网(WAN)上,或者存储区域网(SAN)上(未示出)。
如图所示,计算机系统502通常包括处理器508,存储器510,总线512,输入/输出(I/O)接口514和外部设备/资源516。客户机106和主机112通常包括相似的部件(例如,处理器,存储器,总线,输入/输出(I/O)接口,以及外部设备/资源)。
处理器508可以包括单个处理单元,或者可以分布在一个或多个位置的一个或多个处理单元上,例如,位于客户机和服务器上。存储器510可以包括任何已知类型的数据存储和/或传输介质,包括磁介质,光介质,随机存取存储器(RAM),只读存储器(ROM)等。此外,与处理器508相似,存储器510可位于单一物理位置,包括一种或多种数据存储,或者以多种形式被分布于多个物理系统上。
I/O接口514可以包括用于向/从外部源交换信息的任何系统。外部设备/资源516可以包括任何已知类型的外部设备,包括扬声器,CRT,LED显示屏,手持设备,键盘,鼠标,声音识别系统,语音输出系统,打印机,监视器/显示屏,传真机,寻呼机等。
总线512提供了计算机系统502中每个部件之间的通信链路,并同样地可以包括任何已知类型的传输链路,包括电气的,光学的,无线的等等。此外,尽管没有示出,例如高速缓冲存储器,通信系统,系统软件等的其他部件可以被合并到计算机系统502中。
存储器510中示出了路由器和负载均衡器518,活动应用替代管理器520,以及应用布置系统522,其每一个都可被提供为计算机程序产品。路由器和负载均衡器518,活动应用替代管理器520,以及应用布置系统522分别提供了前面参照路由器和负载均衡器102,活动应用替代管理器130,以及应用布置系统126描述的功能(图2)。在存储器中还示出了用于保持对休眠应用集群116(例如,休眠应用集群“f”)的应用请求526的保持区524。
路由器和负载均衡器518接收由客户机106通过网络504发送的应用请求526(例如,应用集群“f”的)。路由器和负载均衡器518确定或者被告知应用集群“f”是休眠的。结果,对休眠应用集群“f”的应用请求526被传送到保持区524。在接收到对休眠应用集群“f”的应用请求526之后,保持区524告知活动应用替代管理器520已经接收到对休眠应用集群“f”的应用请求526。在接收到有关保持区524已经接收了对休眠应用集群“f”的应用请求526的通知之后,活动应用替代管理器520将至少一个当前处于活动状态但未使用的应用集群116(例如,应用集群“c”)的状态改变为休眠,并将休眠应用集群“f”的状态改变为活动。可以根据例如存储在存储器510和/或存储设备506中的应用使用情况数据528来决定把哪一个当前活动的应用集群116转换成休眠应用集群116。根据状态改变,活动和休眠应用集群116的列表120,122被更新,并且更新活动应用集群116及其位置的列表110,以反映出新休眠应用集群“c”的休眠。根据更新后的列表120,122,应用布置系统522停止应用集群116中对应于新休眠应用集群“c”的(部分或全部)服务器进程114,并启动若干服务器进程114以启动主机群108中对应于新启动的应用集群“f”的应用集群116。然后,针对新启动的应周集群“f”,更新活动应用集群116及其位置的列表110,并且从保持区524(例如,经由路由器和负载均衡器518)向主机群108中适当的服务器进程114转发对新启动的应用集群“f”的应用请求526以提供服务。
应当理解,本发明的教导可被提供为基于预订或收费的商业方法。例如,可由为客户提供这里所描述的功能的服务提供商创建,维护,支持,和/或者部署系统500。即,服务提供商能被用来响应时变提供的负荷而启动/终止应用集群的服务器进程。
应当理解,可以通过硬件,软件,传播信号,或者其任意组合来实现本发明。任何类型的计算机/服务器系统-或其他适合实施此处所述方法的装置均是适合的。硬件和软件的常见组合可以是具有计算机程序的通用计算机系统,当装载并执行计算机程序时,其实现这里所描述的各个方法。可选地,可以使用专用计算机,其包含实现本发明一个或多个功能任务的专用硬件。本发明还可以被嵌入计算机程序产品或者传播信号中,该计算机程序产品或传播信号包括允许实现这里所述方法的所有相应特征,并且当其被装载进计算机系统中时,能实现这些方法。在本文中的计算机程序,传播信号,软件程序,程序,或者软件是指以任何语言,代码或者符号对一套指令的表述,该指令直接地或在经过以下任一或全部处理后用来使具有信息处理能力的系统执行特定功能:(a)转换到另一种语言,代码或者符号;和/或(b)以不同的物质形式再现。
前述对本发明优选实施例的描述旨在说明和解释。其目的不是详尽列举本发明或将本发明限制为所公开的具体形式,并且明显地,可以作出许多修改和变化。例如,应用集群116可以被主动地改为休眠状态,并且/或者可以响应许多不同的境况,在多个不同的时间停止和启动应用集群116的成员。因此,对休眠应用集群116的请求可能到达,但当时因为有足够可用的计算容量,不需要停止任何其他服务器进程114即可启动新服务器进程114;一种这样的情况是,较早地主动停止一些其他服务器进程114,对于甚至更早地被主动标记为休眠的应用集群116。本领域的技术人员可想到的修改和变化应被包含在本发明如所附权利要求定义的范围之内。
Claims (15)
1.一种用于支持大量间歇使用的应用集群的方法,包括:
在保持区保持对休眠应用集群的应用请求;
将休眠应用集群的状态改变为活动状态;
将未使用的活动应用集群的状态改变为休眠状态;
停止新休眠的应用集群的服务器进程;
启动新活动的应用集群的服务器进程;以及
将保持在保持区的应用请求导向新活动的应用集群的服务器进程。
2.如权利要求1所述的方法,其中将未使用的活动应用集群的状态改变为休眠状态并停止新休眠应用集群的服务器进程的步骤能够在将休眠应用集群的状态改变为活动状态的步骤之前的任何时间执行。
3.如权利要求1所述的方法,进一步包括:
监视多个活动应用集群的使用情况;以及
根据监视的应用使用情况,选择多个活动应用集群中的将被改变为休眠状态的活动应用集群。
4.如权利要求1所述的方法,进一步包括:
根据策略选择将被改变为休眠状态的活动应用集群。
5.如权利要求1所述的方法,进一步包括:
停止新休眠的应用集群中的所有服务器进程。
6.如权利要求1所述的方法,其中应用集群位于包括多台主机的主机群上。
7.如权利要求1所述的方法,进一步包括:
响应于状态的改变,更新有关活动和休眠应用集群的信息;以及
根据更新后的信息,分别停止和启动新休眠的和新活动的应用集群中的服务器进程。
8.如权利要求1所述的方法,进一步包括:
从客户机接收应用请求;
确定对应于从客户机接收的应用请求的应用集群是处于活动状态还是休眠状态;以及
如果应用集群被确定为处于休眠状态,则将该应用请求导向保持区。
9.一种用于支持大量间歇性使用的应用集群的系统,包括:
用于保持对休眠应用集群的应用请求的保持区;
用于将休眠应用集群的状态改变为活动状态的系统;
用于将未使用的活动应用集群的状态改变为休眠状态的系统;
用于停止新休眠的应用集群的服务器进程的系统;
用于启动新活动的应用集群的服务器进程的系统;以及
用于将保持在保持区的应用请求导向新活动应用集群的服务器进程的系统。
10.如权利要求9所述的系统,进一步包括:
用于监视多个活动应用集群的使用情况的系统;以及
用于根据监视的应用使用情况,选择多个活动应用集群中将被改变为休眠状态的活动应用集群的系统。
11.如权利要求9所述的系统,进一步包括:
用于根据策略选择将被改变为休眠状态的活动应用集群的系统。
12.如权利要求9所述的系统,其中用于停止新休眠的应用集群的服务器进程的系统停止在新休眠应用集群中的所有服务器进程。
13.如权利要求9所述的系统,其中应用集群位于包括多台主机的主机群上。
14.如权利要求9所述的系统,进一步包括:
用于响应于状态的改变,更新有关活动和休眠应用集群的信息的系统;以及
用于根据更新后的信息,分别停止和启动新休眠的和新活动的应用集群中的服务器进程的系统。
15.如权利要求9所述的系统,进一步包括:
用于从客户机接收应用请求的系统;
用于确定对应于从客户机接收的应用请求的应用集群是处于活动状态还是休眠状态的系统;以及
如果应用集群被确定为处于休眠状态,用于将应用请求导向保持区的系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/953,325 US7552215B2 (en) | 2004-09-29 | 2004-09-29 | Method, system, and computer program product for supporting a large number of intermittently used application clusters |
US10/953,325 | 2004-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1755634A CN1755634A (zh) | 2006-04-05 |
CN100367217C true CN100367217C (zh) | 2008-02-06 |
Family
ID=36126953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510107510XA Expired - Fee Related CN100367217C (zh) | 2004-09-29 | 2005-09-23 | 支持大量间歇使用的应用集群的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7552215B2 (zh) |
CN (1) | CN100367217C (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296176B (zh) * | 2007-04-25 | 2010-12-22 | 阿里巴巴集团控股有限公司 | 一种基于群集的数据处理方法和装置 |
US7877482B1 (en) * | 2008-04-01 | 2011-01-25 | Google Inc. | Efficient application hosting in a distributed application execution system |
US8005950B1 (en) | 2008-12-09 | 2011-08-23 | Google Inc. | Application server scalability through runtime restrictions enforcement in a distributed application execution system |
WO2011075899A1 (zh) * | 2009-12-24 | 2011-06-30 | 华为技术有限公司 | 实现多web应用请求调度的方法、装置及系统 |
CN102724058A (zh) * | 2012-03-27 | 2012-10-10 | 鞠洪尧 | 一种物联网服务器群智能管控系统 |
WO2015037011A1 (en) * | 2013-09-13 | 2015-03-19 | Hewlett-Packard Development Company, L.P. | Intelligent auto-scaling |
CN104935610B (zh) * | 2014-03-17 | 2019-03-01 | 北京学之途网络科技有限公司 | 一种服务器集群的控制方法和控制装置 |
GB2526573A (en) * | 2014-05-28 | 2015-12-02 | Blueberry Consultants Ltd | Controlling a server |
EP3207762A4 (en) * | 2014-10-17 | 2018-04-04 | Seven Networks, LLC | Collaborative policy management strategies at a mobile device |
CN105939371A (zh) * | 2015-11-24 | 2016-09-14 | 中国银联股份有限公司 | 云计算的负载均衡方法及系统 |
CN109460291B (zh) * | 2018-09-26 | 2024-07-09 | 平安科技(深圳)有限公司 | 电子装置、弹性控制服务器集群的方法及存储介质 |
US10949239B2 (en) * | 2018-12-14 | 2021-03-16 | Hewlett Packard Enterprise Development Lp | Application deployment in a container management system |
US11159610B2 (en) * | 2019-10-10 | 2021-10-26 | Dell Products, L.P. | Cluster formation offload using remote access controller group manager |
US11461150B1 (en) | 2021-06-23 | 2022-10-04 | Snowflake Inc. | Autoscaling and throttling in an elastic cloud service |
CN114449004B (zh) * | 2022-02-24 | 2024-07-16 | 京东科技信息技术有限公司 | 服务器集群的部署方法、装置、电子设备和可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1371060A (zh) * | 2002-03-25 | 2002-09-25 | 中国人民解放军国防科学技术大学 | 主动式集群服务器 |
WO2003062982A1 (en) * | 2002-01-18 | 2003-07-31 | Bea Systems, Inc. | Systems and methods for application management and deployment |
CN1464405A (zh) * | 2002-06-05 | 2003-12-31 | 中国科学院计算技术研究所 | 集群系统的系统结构 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396635A (en) | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5434994A (en) | 1994-05-23 | 1995-07-18 | International Business Machines Corporation | System and method for maintaining replicated data coherency in a data processing system |
US20030055967A1 (en) * | 1999-05-17 | 2003-03-20 | David Dewitt Worley | Encapsulating local application environments in a cluster within a computer network |
US20020147652A1 (en) | 2000-10-18 | 2002-10-10 | Ahmed Gheith | System and method for distruibuted client state management across a plurality of server computers |
US7302609B2 (en) * | 2003-03-12 | 2007-11-27 | Vladimir Matena | Method and apparatus for executing applications on a distributed computer system |
US7287186B2 (en) * | 2003-06-02 | 2007-10-23 | Surgient Inc. | Shared nothing virtual cluster |
-
2004
- 2004-09-29 US US10/953,325 patent/US7552215B2/en not_active Expired - Fee Related
-
2005
- 2005-09-23 CN CNB200510107510XA patent/CN100367217C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003062982A1 (en) * | 2002-01-18 | 2003-07-31 | Bea Systems, Inc. | Systems and methods for application management and deployment |
CN1371060A (zh) * | 2002-03-25 | 2002-09-25 | 中国人民解放军国防科学技术大学 | 主动式集群服务器 |
CN1464405A (zh) * | 2002-06-05 | 2003-12-31 | 中国科学院计算技术研究所 | 集群系统的系统结构 |
Also Published As
Publication number | Publication date |
---|---|
US7552215B2 (en) | 2009-06-23 |
CN1755634A (zh) | 2006-04-05 |
US20060075101A1 (en) | 2006-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100367217C (zh) | 支持大量间歇使用的应用集群的方法和系统 | |
US7020706B2 (en) | Method and system for automatically updating multiple servers | |
KR101970054B1 (ko) | 클라우드 서버를 스케줄링하는 방법 및 장치 | |
CN1649324B (zh) | 操作带有代理的开放api网络的方法和装置 | |
US9298513B2 (en) | Method and structure for autonomic application differentiation/specialization | |
KR101532450B1 (ko) | 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리 | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
US7650347B2 (en) | System and method for job scheduling and distributing job scheduling | |
Balasangameshwara et al. | Performance-driven load balancing with a primary-backup approach for computational grids with low communication cost and replication cost | |
CN110658794B (zh) | 一种制造执行系统 | |
US20120323988A1 (en) | Task allocation in a computer network | |
CN111858054B (zh) | 一种异构环境下基于边缘计算的资源调度系统及方法 | |
US6167533A (en) | Active dashboard extensible framework | |
US11354152B2 (en) | Self-evolving microservices | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
US7707080B2 (en) | Resource usage metering of network services | |
US20050251571A1 (en) | Methods, systems and computer program products for disseminating status information to users of computer resources | |
JP2007518172A (ja) | トランザクションをサポートするための方法および装置 | |
CN113220480A (zh) | 分布式的数据任务跨云调度系统及方法 | |
CN101018152A (zh) | 软件安装系统及方法 | |
CN109688011B (zh) | 一种基于OpenStack的agent选择方法及装置 | |
CN115225645A (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN112148462B (zh) | 基于Jenkins的CICD流程的处理方法 | |
US7647379B2 (en) | System and method for re-routing messaging traffic to external resources | |
CN109697126B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080206 Termination date: 20091023 |