集合式服务器的制作方法

文档序号:7722251阅读:187来源:国知局
专利名称:集合式服务器的制作方法
技术领域
本发明涉及一种服务器,特别有关于一种集合式服务器。
背景技术
随着网际网络的发展,使得利用多台计算机同时提供服务程序的目的也可以实 现。而且计算机的处理速度也为之提高,因此虚拟机器的发展也连带的成长。所以为能提 供客户端多样且实时的回应,所以一般会以多台实体服务器连接组成一个集合式服务器 (Pool)。在集合式服务器中的每一台服务器都是相同的。所以为能管理集合式服务器中的 每一台服务器,因此会从中选择至少一台服务器作为管理其他服务器的主机。以一般公知技术来说,为能提高集合式服务器的高可用性(highavailability), 会采用两台服务器作为管理用主机。一台服务器用以集中管控其他服务器,另一台服务器 则是控制管控的服务器。这样的架构使得集合式服务器的成本被提高,而且在管控的两台 服务器如果有一台毁损则会造成集合式服务器无法正常运作的问题。

发明内容
鉴于以上的问题,本发明的主要目的在于提供一种集合式服务器,用以向远端计 算机提供虚拟机器的服务。为实现上述目的,本发明所公开的集合式服务器包括多台从服务器,由这些从服 务器中选择其中之一作为主服务器,主服务器通过管理程序提供虚拟机器服务给远端计算 机;从服务器具有心跳监控程序与更替程序;从服务器通过心跳监控程序发送一要求确认 的信号主服务器;当主服务器接受确认信号后,主服务器会定时的发出一心跳信号给从服 务器;使得从服务器得以确认主服务器是否处于运行状态中;当从服务器均未收到主服务 器的心跳信号时,则从服务器开始运行更替程序,并由其余的从服务器中选择其中之一作 为主服务器。本发明提供一种集合式服务器,其由多台服务器所构成,用以提供虚拟机器的服 务。集合式服务器由多个从服务器所组成,并通过更替程序以轮替的方式从这些从服务器 中选择一台担任主服务器。可以避免将所有负载落在同一台服务器上。有关本发明的特征与实作,兹配合附图作最佳实施例详细说明如下。


图1为本发明的架构示意图;图2为本发明的运作流程示意图;图3A为本发明的从服务器通过接口进行心跳监控程序的运作流程示意图;图3B为本发明的主服务 器创建接口进行心跳监控程序的运作流程示意图。其中,附图标记
110 从服务器120 主服务器
具体实施例方式本发明可应用在具有提供虚拟机器服务的计算机(例如服务器、个人电脑或笔 记型电脑等)。本发明对于虚拟机器运行的操作系统与虚拟的硬件环境并不限定。为能清 楚说明本发明的整体架构还请参考图1所示,其为本发明的架构示意图。在本发明的集合 式服务器中由多台服务器所构成。在这些服务器中选择一台担任主服务器120,其余的则为 从服务器110。所有的服务器均具有心跳监控程序、心跳发送程序与更替程序。为能清楚说 明本发明的整体运作,还请参考图2所示,其为本发明的运作流程示意图。步骤S210 从这些从服务器中选出主服务器;步骤S220 从服务器发送一要求确认的信号给主服务器;步骤S230 主服务器在接获要求确认的信号后,定时的发出一心跳信号给从服务 器;步骤S240 从服务器运行心跳监控程序,定期的接收心跳信号;步骤S250 当从服务器在预设时间中均未接获心跳信号,则该从服务器运行更替 程序,用以由这些从服务器中选择一个作为新的主服务器;以及步骤S260 重复前述步骤S220 S250,直至选出下一个新的主服务器为止。在主服务器120中运行心跳发送程序,而从服务器110则运行心跳监控程序。每 一台从服务器110通过心跳监控程序用以发送一确认信号至主服务器120。主服务器120 在接收到来自从服务器110的确认信号后,主服务器120会定时的发出心跳信号给从服务 器110,借以让从服务器110确认主服务器120仍处于运行状态中。举例来说,从服务器110可以通过监听接口(socket)的方式来实现心跳信号的监 控。请配合图3A与图3B所示,其分别为本发明通过接口进行心跳监控程序的运作流程示 意图。对于从服务器110而言,运行下列步骤步骤S311 从服务器创建与主服务器联络用的接口 ;步骤S312 判断是否有来自主服务器的心跳信息;步骤S313 若未接收到主服务器所发出的心跳信息,则在经过第一预设时间后结 束接口 ;以及步骤S314 若从服务器接收来自主服务器的心跳信息后,则重复步骤S312。对于主服务器120而言,运行下列步骤步骤S321 创建与从服务器联络用的接口用以建立心跳线;以及步骤S322 接收来自从服务器的确认信号后,定时发出心跳信号。除了利用接口的方式外,更可通过不同的网络传输协定来实现。在集合式服务器 所在的内网中,从服务器110可以通过TCP传送确认信号给主服务器120。当主服务器120 接获到确认信号后,主服务器120会定时的通过UDP广播心跳信号给各从服务器110。因 此,通过心跳信号的传送可以确认主服务器120是否仍在运行当中。此外,主服务器120通过管理程序提供虚拟机器的服务给远端计算机。相较于公知技术仅是用单独一台的服务器来提供虚拟机器的服务,本发明为了降低对单一服务器所 造成的负载,所以通过多台服务器来均衡负载。因此由主服务器120来统一管理远端计算 机对虚拟服务的要求,借以将虚拟机器的负载平均的分摊在各从服务器110。换句话说,远 端计算机在连接至集合式服务器时,由主服务器120作为连接的代表,并且将从服务器110 的各项要求转发至相应的从服务器110。为能实时的运行集合式服务器,因此主服务器120的存在是必要的。在集合式服 务器中的每一台服务器均具有更替程序。由于主服务器120因管理上的需求而异动或者是 当机而无法再继续运作。这时候需要在这些从服务器110中另外选择一台作为新的主服务 器 120。为能公平的选出主服务器120,因此更替程序可以通过以下方式进行选择的动作。 每个从服务器110都有一个权值,各从服务器110之间通过一条独立的通讯路径周期性 (比如每5分钟发一次)的交换自己的权值。如此一来,每个从服务器110上都有所有从服 务器110的权值。当从服务器110在每收到一个权值时,就将收到的权值与自己的权值作 比较。如果收到的权值大于本身的权值,则认为自己没有资格作为主服务器120。当主服务 器120当掉时,对每个从服务器110都检查自己是否是当前权值最大的,如果是,则自举为 主服务器120。而决定权值的策略可以根据从服务器110当前的负载量、运行性能或运行程序数 量来决定。以负载为例,第一从服务器的处理单元占用率为10%,而第二从服务器的处理单 元占用率为15%。那么第一从服务器的负载相较于第二从服务器轻。因此将第一从服务器 的权值设定为90,而第二从服务器的相较于第一从服务器的负载较重,所以将第二从服务 器的权值设定为85。所以第一从服务器可以判断自己的权值大,可以自举为主服务器120, 第二从服务器判断自己的权值低,放弃成为主服务器120。这样一来,自动推举就不会重复 了。本发明提供一种集合式服务器,其由多台服务器所构成,用以提供虚拟机器的服 务。集合式服务器由多个从服务器110所组成,并通过更替程序以轮替的方式从这些从服 务器110中选择一台担任主服务器120。可以避免将所有负载落在同一台服务器上。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形 都应属于本发明所附的权利要求的保护范围。
权利要求
一种集合式服务器,其特征在于,其用以向一远端计算机提供一虚拟机器服务,该集合式服务器包括多台从服务器,该从服务器具有一心跳监控程序与一更替程序;一主服务器,由这些从服务器其中的一个担任,该主服务器电性连接于这些从服务器;以及该从服务器通过该心跳监控程序用以发送一要求确认的信号至该主服务器,该主服务器运行一心跳发送程序,当该主服务器接收来自该从服务器的该要求确认的信号后,该主服务器会定时的发出一心跳信号给该从服务器,该主服务器具有一管理程序,该主服务器通过该管理程序提供该虚拟机器服务给该远端计算机;其中,当这些从服务器均未收到该主服务器的该心跳信号时,则这些从服务器运行该更替程序,用以从这些从服务器中选择其中之一作为该主服务器。
2.根据权利要求1所述的集合式服务器,其特征在于,该主服务器与这些从服务器各 具有一私有位址,且该主服务器以一公有位址提供该虚拟机器服务。
3.根据权利要求2所述的集合式服务器,其特征在于,在运行该更替程序后,将先前的 该主服务器的该公有位址取消,对所选出的该主服务器设定该公有位址。
4.根据权利要求1所述的集合式服务器,其特征在于,该更替程序根据一权重值的大 小决定这些从服务器其中的一个运行该更替程序,接替作为该主服务器。
全文摘要
本发明公开一种集合式服务器,用以向远端计算机提供虚拟机器的服务。集合式服务器包括多台从服务器,在这些从服务器均具有心跳监控程序与更替程序;在这些从服务器中选择其中之一担任主服务器;从服务器通过心跳监控程序发送一要求确认的信号至主服务器,使得从服务器得以确认主服务器是否处于运行状态中;主服务器具有管理程序,主服务器通过管理程序提供虚拟机器服务给远端计算机;当从服务器均未收到主服务器的确认信号时,则从服务器开始运行更替程序,并由其余的从服务器中选择其中之一作为主服务器。
文档编号H04L29/08GK101877714SQ200910253309
公开日2010年11月3日 申请日期2009年11月30日 优先权日2009年11月30日
发明者张洪素, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1