CN102891879A - 用于支持集群扩展的方法和设备 - Google Patents

用于支持集群扩展的方法和设备 Download PDF

Info

Publication number
CN102891879A
CN102891879A CN2011102125953A CN201110212595A CN102891879A CN 102891879 A CN102891879 A CN 102891879A CN 2011102125953 A CN2011102125953 A CN 2011102125953A CN 201110212595 A CN201110212595 A CN 201110212595A CN 102891879 A CN102891879 A CN 102891879A
Authority
CN
China
Prior art keywords
context
node
file
configuration
cluster
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
Application number
CN2011102125953A
Other languages
English (en)
Inventor
杨杰
钟虓
邱杰
简丽荣
余涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2011102125953A priority Critical patent/CN102891879A/zh
Priority to US13/551,283 priority patent/US9264309B2/en
Priority to US13/612,445 priority patent/US9288109B2/en
Publication of CN102891879A publication Critical patent/CN102891879A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施方式涉及用于支持集群扩展的方法和设备。具体地,公开一种用于记录集群的初始节点的配置上下文的方法,包括:获取将被用以配置初始节点的至少一个文件;以及记录在使用至少一个文件配置初始节点的过程中的上下文,记录的上下文是与该初始节点的所述配置有关的信息,并且将被用于支持向所述集群添加新节点。相应地,还公开了一种用于支持向集群添加新节点的方法,包括:访问集群的已有节点的上下文,该上下文是与已有节点在加入集群过程中的配置有关的信息;以及根据上下文获取至少一个文件,至少一个文件将被用以配置新节点。还公开了相应的设备。根据本发明的实施方式,可以有效地提高集群扩展的效率。

Description

用于支持集群扩展的方法和设备
技术领域
本发明的实施方式总体上涉及信息技术领域,并且更具体地,涉及用于支持集群扩展的方法和设备。
背景技术
随着计算技术的不断发展,计算集群系统或简称集群(cluster)已经成为了一类重要的计算模式或系统。集群通常由一组相互通信的节点组成,这些节点在软件和/或硬件层面上相互配合,以协作完成计算任务。注意,在本申请的上下文中,集群中的节点可以是物理节点,例如不同的物理计算设备;也可以是虚拟节点,例如同一物理计算设备上的多个虚拟机(Virtual Machine,VM)。集群中的节点可以通过利用各种适当的手段相互通信,包括但不限于局域网(“LAN”),广域网(“WAN”),基于IP协议的网络(例如,因特网)、对等网络(例如,ad hoc对等网络)、蜂窝通信、射频通信、蓝牙通信、进程/线程间通信,等等。
对于一个集群来说,能否有效、动态地对该集群进行扩展是衡量集群性能的重要方面。当一个集群被最初构建和部署时,它可能具有n个节点(n是自然数)用以执行计算任务。然而,随着该集群的运行,计算任务的需求可能增长。这时常常需要向集群中添加新节点。为此,新节点应当根据集群的功能和状态而被适当地配置,而配置通常需要从节点外部的源向该节点拷贝一个或多个文件以用于安装或设置等任务。在现有技术中,此类配置通常将会消耗较多的时间资源和计算资源。
为了进一步说明这个问题,考虑在同一物理机器上由多个虚拟机构成的集群作为示例。作为示例,为了向该集群添加一个新节点(在本例中是一个新的虚拟机),通常需要执行以下配置:依次获取和安装操作系统(Operating System,OS)镜像、完成集群功能所需要的中间件以及在该虚拟机上运行的用户应用,等等。以中间件为例,在现有技术中,获取和安装中间件通常需要从一个中央存储库将所需的文件拷贝到该VM的本地空间,继而利用这些文件在OS镜像上安装和配置中间件。此后可以启动该中间件并且在其上部署用户级应用。可以理解,当文件的数目较多或大小较大时,上述过程将花费大量的处理时间。
此外,在现有技术中,为了在新节点安装一个应用,通常会将与该应用有关的所有文件都从中央存储库拷贝到本地,而后才会启动实际的安装过程。然而,某些文件对于节点配置而言可能是无用的,这导致了资源的浪费。而且,对文件的拷贝目前一般是顺序进行的,但是某些文件之间可能并不存在依赖关系,这使得潜在的并发性没有得到有效利用。还可以理解的是,为了配置一个新节点,可能需要在新节点上安装多个应用,并且安装每个应用需要获取多个文件,这势必使得文件存储库、通信通道等成为系统的瓶颈资源。这些问题进一步降低了集群扩展的效率。
考虑一个具体示例,当需要在一个虚拟机节点上配置国际商业机器公司(IBM)的WebSphereTM Application Server(WAS)时,按照现有技术,仅仅是从中央存储库拷贝所需的文件便需要花费10分钟甚至更长时间。注意,尽管上文描述是参考虚拟机给出的,但是此类问题同样存在于物理集群的扩展中。
为了提高集群扩展的效率,已经提出在配置将要加入集群的新节点时仅仅对其进行“伪”配置。换言之,在一个新节点加入集群时,并不真正向该节点拷贝和安装所需的应用和/或进行相应的配置,而是在运行中真正需要时才执行相应的操作(例如,从中央存储库拷贝文件并本地安装)。此类方案虽然可以提高新节点加入集群时的速度,却只是将配置新节点所需的时间和资源开销推迟到了运行期间。上文提到的顺序访问、瓶颈资源等诸多问题并未得到真正的解决。
发明内容
鉴于现有技术中存在的上述问题,需要更为有效地扩展集群的新方案。为此,本发明的实施方式提供一种用于支持集群高效扩展的方法和设备。
在本发明的一个方面,提供一种用于记录集群的初始节点的配置上下文的方法。该方法包括:获取将被用以配置所述初始节点的至少一个文件;以及记录在使用所述至少一个文件配置所述初始节点的过程中的上下文,记录的所述上下文是与所述初始节点的所述配置有关的信息,并且将被用于支持向所述集群添加新节点。
在本发明的另一方面,提供一种用于支持向集群添加新节点的方法。该方法包括:访问所述集群的已有节点的上下文,所述上下文是与所述已有节点在加入所述集群过程中的配置有关的信息;以及根据所述上下文获取至少一个文件,所述至少一个文件将被用以配置所述新节点。
在本发明的又一方面,提供一种用于记录集群的初始节点的配置上下文的设备。该设备包括:获取装置,配置用于获取将被用以配置所述初始节点的至少一个文件;以及记录装置,配置用于记录在使用所述至少一个文件配置所述初始节点的过程中的上下文,记录的所述上下文是与所述初始节点的所述配置有关的信息,并且将被用于支持向所述集群添加新节点。
在本发明的另一方面,一种用于支持向集群添加新节点的设备。该设备包括:访问装置,配置用于访问所述集群的已有节点的上下文,所述上下文是与所述已有节点在加入所述集群过程中的配置有关的信息;以及获取装置,配置用于根据所述上下文获取至少一个文件,所述至少一个文件将被用以配置所述新节点。
根据本发明的实施方式,当第一个节点加入集群时,它从集群的文件库获取文件以执行配置,但是不同于现有技术的是,第一节点将记录与其配置有关的上下文。此后,每当一个新节点要在加入集群时,它可以通过访问已有节点的这种上下文,而获得关于配置的更多知识。这样,新节点不但可以从集中式的文件存储库获取设置所需的文件,而且还可以从一个或多个已有节点获取文件。以此方式,可以有效地解决由瓶颈资源引起的竞争和低效问题。在某些可选实施方式中,上下文可以指示文件的依赖关系。由此,新节点可以并发地从中央存储库以及已有节点获取不存在依赖关系的文件,和/或将配置过程流水线化。此外,在某些可选实施方式中,后续节点同样可以记录其上下文,使得后续节点可以从不止一个已有节点访问上下文以及获取文件。进一步,节点之间的通信可以通过端对端(P2P)通信来实现。通过这些实施方式,集群扩展的效率由此可以获得进一步改善。
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示出了根据本发明实施方式的用于记录集群的初始节点的配置上下文的方法100的流程图;
图2示出了根据本发明实施方式的用于支持向集群添加新节点的方法200的流程图;
图3示出了根据本发明实施方式的用于记录集群的初始节点的配置上下文的设备300的框图;
图4示出了根据本发明实施方式的用于支持向集群添加新节点的设备400的框图;
图5示出了本发明的实施方式可在其中实现的集群系统500的框图;以及
图6示出了适于用来实现本发明实施方式的示例性计算系统600的框图。
具体实施方式
下面参考附图详细描述本发明的实施方式。如上文概述以及下文详细讨论的,根据本发明的实施方式,当初始节点加入集群时,它获取所需文件并执行配置。与现有技术不同的是,该节点将记录其在配置过程中的上下文,以供其他后续节点将来使用。这样,每当新节点要加入集群时,其可以获取和参考这些上下文,从而更为快速、高效地完成集群的扩展。而且,如下文详述,任何加入集群的新节点都可以记录其自己的上下文。以此方式,随着节点数目的增多,集群扩展的效率也会相应提高。
下面通过详细描述本发明的若干实施方式来阐释本发明的思想和原理。首先参考图1,其示出了根据本发明实施方式的用于记录集群的初始节点的配置上下文的方法100的流程图。方法100还可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
根据本发明的实施方式,方法100可以由加入集群的第一个节点或称初始节点执行。在方法100开始之后,在步骤S102,获取将被用以配置初始节点的至少一个文件。
如上所述,为了使一个物理或虚拟计算设备变成集群的一个节点,需要根据集群的功能、需求和属性对该节点进行配置。在此使用的术语“配置”包括但不限于以下一个或多个操作:在节点上安装应用,设置和修改该节点的参数,启用和/或禁用节点上的已有应用,以及其他任何适当的操作。在节点的配置期间,通常需要从节点外部的源拷贝至少一个文件。
根据本发明的实施方式,文件可以从与集群相关联的文件存储库获得。具体地,每个集群可以具有与之关联的一个或多个文件存储库,每个文件存储库中存储有配置该集群的节点所需的文件或文件的镜像(为简便起见,以下统称为“文件”)。例如,文件存储库中存储的文件可以包括但不限于以下一个或多个:虚拟机应用的安装和配置文件,操作系统的镜像文件,中间件的安装和配置文件,用户应用的安装和配置文件,用于在配置节点中使用的简档文件,以及与节点的配置有关的其他任何文件。
文件存储库对于集群中的已有节点以及将要加入集群的节点而言是可访问的。在步骤S102,要加入集群的初始节点(即,该集群的第一个节点)可以利用各种通信机制来访问与集群相关联的文件存储库。这些通信机制包括但不限于以下一个或多个:局域网(“LAN”),广域网(“WAN”),基于IP协议的网络(例如,因特网)、对等网络、蜂窝通信、射频通信、蓝牙通信、进程/线程间通信等。
所获取的文件可以被用来根据集群的功能和要求来配置初始节点,例如在初始节点上安装应用、修改初始节点的设置,等等。应当注意,使用获取的文件来配置节点并非必须由方法100来执行的,而是可以由节点上的其他装置/过程根据目前已知或者将来开发的任何适当技术手段来实现。
接下来,在方法100进行到步骤S104,记录在使用步骤S102处获取的至少一个文件配置初始节点的过程中的上下文,其中记录的上下文是与初始节点的配置有关的信息,并且将被用于支持向该集群添加新节点。
根据本发明的实施方式,在此使用的术语“上下文”是与节点的配置有关的信息。上下文可被视为一种元数据。根据本发明的实施方式,上下文可以包括但不限于以下一个或多个:配置节点所需要的文件的标识,文件的执行顺序,每个文件在节点和/或中央文件存储库上的存储位置,文件之间的依赖关系(即,一个文件的执行是否依赖于在前文件的存在或执行),配置所涉及的数据(例如,数据的存储位置),配置所需的底层系统设置,通信设置(例如,网络端口设置),等等。
在步骤S104,可以通过任何适当的方式来记录初始节点的上下文。例如,根据本发明的实施方式,上下文可以被存储在数据库、以可扩展标记语言(XML)编写的格式化文件、平面文件等任何适当的数据结构中。而且,根据本发明的某些实施方式,在步骤S104,可以将上下文记录在初始节点处。备选地或附加地,在本发明的其他一些实施方式中,集群可以具有与之关联的一个或多个上下文存储库,其专门用于保存集群中一个或多个节点的上下文。在这样的实施方式中,在步骤S104,初始节点可以将其上下文记录在与所述集群相关联的上下文存储库中。注意,上下文在上下文存储库中的组织形式可以是各种各样的。例如,上下文存储库可以以节点为单位记录其上下文,也可以对所有节点的上下文统一记录和管理。本发明的范围在此方面不受限制。
方法100在步骤S104完成后结束。通过由将要加入集群的初始节点执行方法100,该初始节点可以记录其在加入集群过程中的上下文。可以理解的是,同一集群中的各个不同节点之间在配置上通常是同构的。换言之,配置后续节点所需的文件以及这些文件的执行顺序、依赖关系等与初始节点通常是相同或至少是近似的。由此,通过执行方法100,集群的初始节点(或者更一般地说,先前加入集群的节点)所记录的上下文对于后续节点而言具有参考价值,可被用来加速集群的扩展,这将在下文参考图2加以详述。当然,需要指出的是,节点配置的同构并非是对本发明范围的限制。实际上,本领域技术人员理解,对于非同构的节点配置,本发明的实施方式同样适用。
现在参考图2,其示出了根据本发明实施方式的用于支持向集群添加新节点的方法200的流程图。类似于上文描述的方法100,方法200中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。方法200还可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。根据本发明的实施方式,方法200可以由要加入集群的、非初始节点的节点执行。换言之,当作为方法200执行主体的节点加入集群之前,该集群中已经存在至少一个已有节点。
在方法200开始之后,在步骤S202,访问集群的已有节点的上下文,该上下文是与已有节点在加入集群过程中的配置有关的信息。根据本发明的某些实施方式,如上所述,已有节点可以将其上下文记录在与集群相关联的一个或多个上下文存储库中。在这样的实施方式中,在步骤S202,新节点可以从与所述集群相关联的上下文存储库访问所述上下文。备选地或附加地,已有节点也可以将上下文存储在其本地。相应地,在步骤S202,新节点可以从相应的已有节点访问所述上下文。
接下来,方法200进行到步骤S204,在此根据步骤S202处访问的上下文获取至少一个文件,获取的文件将被用以配置该新节点。根据本发明的实施方式,如上所述,上下文可以指示配置一个集群节点所需要的文件的标识以及文件的执行顺序。此时,通过访问已有节点的上下文,新节点可以确定需要首先获取哪个或者哪些文件。这样,新节点可以按照文件的执行顺序从文件存储库获取文件,而不是像现有技术中常见的那样一次性拷贝全部需要的文件。以此方式,新节点可以启动已获取文件的执行,同时继续获取其他文件,从而有效地提高配置速度。
此外,根据本发明的某些可选实施方式,上下文可以指示节点配置所需的文件之间的依赖关系。在这些实施方式中,基于文件的标识、执行顺序和依赖关系,整个配置过程可被划分为逻辑上的多个级(stage)。作为示例,在某些实施方式中,节点配置可以在逻辑上被划分为三个级:获取文件级,文件执行级,以及上下文记录级。此时,新节点的配置可以以“级”为单位来进行。例如,新节点可以首先获取配置所需的第一文件,而后在执行与第一文件有关的配置的同时,获取配置所需的第二文件,其中该第二文件不依赖于第一文件。在记录与第一文件有关的配置上下文的同时,新节点可以执行与第二文件有关的配置并且获取第三文件,以此类推。以此方式,新节点的配置被流水线化,从而可以在确保操作正确性的同时提高配置效率。
而且,根据本发明的可选实施方式,除上述信息之外,已有节点的上下文还可以指示所需的文件在已有节点上的存储位置。由此,除了从集群的文件存储库获取之外或者作为替代,新节点可以根据上下文所指示的存储位置,从集群的一个或多个已有节点获取相关文件。而且,在某些可选实施方式中,新节点可以从集群的已有节点和/或从与集群相关联的文件存储库并发地获取文件。以此方式,可以有效地降低对于文件存储库这一集中式资源的竞争以及因等待而引发的潜在延迟。
特别地,根据本发明的某些实施方式,新节点可以动态地确定从哪个或者哪些来源获取文件。可以理解,这里所说的“来源”可以包括先前已经加入集群的已有节点,也可以包括集群的文件存储库。例如,新节点可以向文件存储库以及一个或多个已有节点同时发出文件获取请求,并且从最先响应该请求的来源实际获取文件。备选地或附加地,上述确定还可以基于已有节点和文件存储库的当前负载、通信状态、等待队列长度等各种因素。注意,这仅仅是示例性的,并非意在限制本发明的保护范围。实际上,根据本发明的实施方式,各种相关因素均可被纳入考虑范畴之内,本发明的范围在此方面不受限制。
另外,根据本发明的某些实施方式,集群中的节点可以采用端对端(P2P)网络连接彼此通信。更具体地,新节点从已有节点访问上下文和/或从已有节点获取配置所需的文件可以通过P2P通信来完成。由此,可以进一步降低集群中的集中式资源以及瓶颈通信资源的压力,从而改善集群扩展的效率。
接下来,根据本发明的某些可选实施方式,方法200进行到步骤S206,在此记录在使用获取的至少一个文件配置新节点的过程中的上下文。在这样的实施方式中,在一个新节点为了加入集群而执行配置的过程中,它可以记录其上下文,如同该集群的初始节点那样(参见上文描述的图1的步骤S104)。如上所述,上下文可以指示的信息包括但不限于以下一个或多个:配置节点所需要的文件的标识,文件的执行顺序,每个文件在节点和/或中央文件存储库上的存储位置,文件之间的依赖关系,等等。
新节点的上下文可以通过任何适当的数据结构来记录,例如数据库、XML文件、平面文件等。而且,根据本发明的某些实施方式,在步骤S206,可以将上下文记录在所述新节点处,也可以将上下文存储在与集群相关联的上下文存储库中。
通过执行步骤S206,任何加入集群的新节点都可以记录关于其配置的上下文。这样,后续节点不但可以从集群的初始节点访问上下文和/或获取文件,而是可以先前加入集群的其他已有节点完成上述操作。由此,随着集群中已有节点数目的不断增加,新加入的节点可以从更多的来源访问上下文以及获取文件。这可以进一步显著提高集群扩展的速度。
然而,应当理解,步骤S206是可选的。实际上,除了初始节点之外,本发明的实施方式并不要求加入集群的每个节点都必须记录其配置的上下文。实际上,根据本发明的实施方式,加入集群的新节点可以根据其自己的计算能力、存储能力、集群系统的当前状态、上下文存储库和/或文件存储库的状态等各种因素,来确定是否记录其上下文。
下面参考图3,其示出了根据本发明实施方式的用于记录集群的初始节点的配置上下文的设备300的框图。设备300可以驻留在加入集群的初始节点之上或者以其他方式与之关联,并且可以配置用于执行上文描述的方法100。
如图3所示,设备300包括获取装置302,可配置用于获取将被用以配置该初始节点的至少一个文件。设备300还记录装置304,可配置用于记录在使用该至少一个文件配置该初始节点的过程中的上下文,记录的上下文是与该初始节点的配置有关的信息,并且将被用于支持向该集群添加新节点。此外,根据本发明的某些可选实施方式,记录装置304还可以进一步包括以下至少之一:第一记录装置,可配置用于将该上下文记录在该初始节点处;以及第二记录装置,可配置用于将该上下文记录在与该集群相关联的上下文存储库中。
图4示出了根据本发明实施方式的用于支持向集群添加新节点的设备400的框图。设备400可以驻留在加入集群的除初始节点之外的新节点之上或者以其他方式与之关联,并且可以配置用于执行上文描述的方法200。
如图所示,根据本发明的实施方式,设备400包括访问装置402,可配置用于访问该集群的已有节点的上下文,该上下文是与该已有节点在加入该集群过程中的配置有关的信息。设备400还包括获取装置404,可配置用于根据该上下文获取至少一个文件,该至少一个文件将被用以配置该新节点。
根据本发明的某些可选实施方式,访问装置402可以进一步包括第一访问装置,可配置用于从与该集群相关联的上下文存储库访问该上下文。此外,根据本发明的某些实施方式,访问装置402进一步包括:第二访问装置,可配置用于从相应的已有节点访问该上下文。
根据本发明的某些可选实施方式,获取装置404可以进一步包括以下至少之一:第一获取装置,可配置用于从该集群的已有节点获取该至少一个文件;以及第二获取装置,可配置用于从与该集群相关联的文件存储库获取该至少一个文件。备选地或附加地,获取装置404可以进一步包括第三获取装置,可配置用于并发地获取该至少一个文件。
此外,根据本发明的某些可选实施方式,设备400可以进一步包括记录装置406,可配置用于记录在使用获取的该至少一个文件配置该新节点的过程中的上下文。根据某些实施方式,记录装置406可进一步包括以下至少一个:第一记录装置,配置用于将该上下文记录在该新节点处;以及第二记录装置,配置用于将该上下文记录在与该集群相关联的上下文存储库中。注意,如上文参考图2该,记录装置406是可选的,而并不是设备400的必要组成部分。
应当理解,上文参考图3和图4描述的设备300和设备400包含的各个装置及其包含的可选子装置分别对应于上文参考图1描述的方法100和参考图2描述的方法200中的各个步骤。由此,上文针对方法100和方法200描述的所有特征和操作同样适用于设备300和设备400,故在此不再赘述。
特别地,设备300和设备400中装置和可选子装置的划分不是限制性的而是示例性的。例如,在图3和图4中所示的单个装置的功能可以由多个装置来实现。反之,在图3和图4中所示的多个装置亦可由单个装置来实现。本发明的范围在此方面不受限制。
还应当理解,设备300和400中包含的各装置和子装置可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,设备300和400的各装置可以利用软件和/或固件模块来实现。备选地或附加地,设备300和400的各装置也可以利用硬件模块来实现。例如,设备300和400的各装置可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。设备300和400的各装置也可以实现为片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
现在参考图5所示的本发明实施方式可在其中实现的集群系统500,进一步说明本发明实施方式的工作原理。如图5所示,集群系统500包括文件存储库502,用于存储配置集群的节点所需的文件。在图5的示例中,集群系统500还包括上下文存储库504,用于存储节点记录的上下文。应当理解,上下文存储库504在其他实施方式中可以被省略,因为上下文可被记录在节点处。
在图5所示的示例中,示出了三个示例性的节点,即第一节点、第二节点和第三节点。第一节点是集群系统500的初始节点,第二节点和第三节点是集群系统500的后续加入节点。如图所示,第一节点500处驻留有如上文参考图3描述的设备300的实例。此外,第二节点和第三节点处分别驻留有上文参考图4描述的设备400的实例400-2和400-3。
在操作中,第一节点首先加入集群。如上所述,驻留于第一节点的设备300可以从文件存储库502获取配置所需的文件(S506),这些文件被用来配置第一节点。在此期间,设备300将与第一节点的配置有关的上下文记录在上下文存储库中(S508)。
此后,当第二节点要加入该集群时,如上文所述,驻留于第二节点的设备400-2可以访问上下文存储库504(S510),以获得已有节点(在这种情况下,是第一节点)的上下文。根据这一上下文,设备400-2可以允许第二节点从文件存储库502或从第一节点中的至少一个处获取文件(S512,S514)。这可以有效地加速第二节点的配置,使其较快地加入集群。而且,根据本发明的某些可选实施方式,第二节点可以可选地将其配置过程中的上下文存储在上下文存储库504中(S516)。
类似地,当第三节点加入集群时,通过访问上下文存储库504(S518),第三节点可以从文件存储库502、第一节点以及第二节点中的至少一个获取配置所需的文件(S520、S522、S524)。特别地,第三节点可以将其上下文记录在存储库504中以备后用(S526)。本领域技术人员可以理解,通过随着节点数目的增多,后续节点加入集群的效率将越来越高。
参考图6,其示出了适于用来实践本发明实施方式的计算系统600的示意性框图。如图所示,计算系统可以包括:中央处理单元(CPU)601、随机存取存储器(RAM)602、只读存储器(ROM)603、系统总线604、硬盘控制器605、键盘控制器606、串行接口控制器607、并行接口控制器608、显示控制器609、硬盘610、键盘611、串行外部设备612、并行外部设备613和显示器614。在这些设备中,与系统总线604耦合的有CPU 601、RAM 602、ROM 603、硬盘控制器605、键盘控制器606、串行控制器607、并行控制器608和显示控制器609。硬盘610与硬盘控制器605耦合,键盘611与键盘控制器606耦合,串行外部设备612与串行接口控制器607耦合,并行外部设备613与并行接口控制器608耦合,以及显示器614与显示控制器609耦合。应当理解,图6所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
本发明的实施方式可以有效地提高集群扩展的效率。例如,仍然考虑上文提及的示例,即,为了将一个新的虚拟机节点加入集群而在该节点上安装和配置WAS。如上文所述,按照现有技术的方法,这一过程需要花费10分钟以上的时间。与此相对,在相同的软硬件设施条件下,利用本发明的实施方式,至多需要3分钟便可完成将新节点加入集群的过程。
上文已经通过本发明的若干具体实施方式而阐释了本发明的思想和原理。注意,在上文描述的流程图和框图中,每个框可以代表模块、程序段或者代码的部分,这些模块、程序段、或代码的部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意,在某些备选实施方式中,框中所标注的功能也可以按照不同于图中所示的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的具体功能。还应注意,框图和/或流程图中的每个框、以及框图和/或流程图中的方框的组合,可以利用执行指定功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
根据本发明实施方式的方法和装置可以采取完全硬件实施方式、完全软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在可选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。
特别地,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图1描述的方法100以及参考图2描述的方法200均可通过计算机程序产品来实现。该计算机程序产品可以存储在例如图6所示的RAM 604、ROM 604、硬盘610和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算系统600上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图6中示出的CPU 601)执行的程序指令,该程序执行在被执行时可以实现方法100和200的步骤。
而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。
介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的示例包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。
适合与存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个示例。
尽管已在上文描述了本发明的若干实施方式,但是本领域技术人员应当理解,这些描述仅仅是示例性和说明性的。根据说明书的教导和启示,在不脱离本发明真实精神的情况下,可以对本发明的实施方式进行各种修改和变更。因此,说明书中记载的特征不应被认为是限制性的。本发明的范围仅由所附权利要求书来限定。

Claims (18)

1.一种用于记录集群的初始节点的配置上下文的方法,包括:
获取将被用以配置所述初始节点的至少一个文件;以及
记录在使用所述至少一个文件配置所述初始节点的过程中的上下文,记录的所述上下文是与所述初始节点的所述配置有关的信息,并且将被用于支持向所述集群添加新节点。
2.根据权利要求1所述的方法,其中记录在使用所述至少一个文件配置所述初始节点的过程中的上下文进一步包括将所述上下文记录在以下至少之一处:所述初始节点,以及与所述集群相关联的上下文存储库。
3.一种用于支持向集群添加新节点的方法,包括:
访问所述集群的已有节点的上下文,所述上下文是与所述已有节点在加入所述集群过程中的配置有关的信息;以及
根据所述上下文获取至少一个文件,所述至少一个文件将被用以配置所述新节点。
4.根据权利要求3所述的方法,其中访问所述集群的已有节点的上下文进一步包括:从与所述集群相关联的上下文存储库访问所述上下文。
5.根据权利要求3所述的方法,其中访问所述集群的已有节点的上下文进一步包括:从相应的已有节点访问所述上下文。
6.根据权利要求3所述的方法,其中根据所述上下文获取至少一个文件进一步包括从以下至少之一处获取所述至少一个文件:所述集群的所述已有节点,以及与所述集群相关联的文件存储库。
7.根据权利要求3所述的方法,其中根据所述上下文获取至少一个文件进一步包括:并发地获取所述至少一个文件。
8.根据权利要求3所述的方法,进一步包括:
记录在使用所述至少一个文件配置所述新节点的过程中的上下文。
9.根据权利要求8所述的方法,其中记录在使用所述至少一个文件配置所述新节点的过程中的上下文进一步包括将所述上下文记录在以下至少之一处:所述新节点,以及与所述集群相关联的上下文存储库。
10.一种用于记录集群的初始节点的配置上下文的设备,包括:
获取装置,配置用于获取将被用以配置所述新节点的至少一个文件;以及
记录装置,配置用于记录在使用所述至少一个文件配置所述新节点的过程中的上下文,记录的所述上下文是与所述初始节点的所述配置有关的信息,并且将被用于支持向所述集群添加新节点。
11.根据权利要求10所述的设备,其中所述记录装置进一步包括以下至少之一:
第一记录装置,配置用于将所述上下文记录在所述新节点处;以及
第二记录装置,配置用于将所述上下文记录在与所述集群相关联的上下文存储库中。
12.一种用于支持向集群添加新节点的设备,包括:
访问装置,配置用于访问所述集群的已有节点的上下文,所述上下文是与所述已有节点在加入所述集群过程中的配置有关的信息;以及
获取装置,配置用于根据所述上下文获取至少一个文件,所述至少一个文件将被用以配置所述新节点。
13.根据权利要求12所述的设备,其中所述访问装置进一步包括:第一访问装置,配置用于从与所述集群相关联的上下文存储库访问所述上下文。
14.根据权利要求12所述的设备,其中所述访问装置进一步包括:第二访问装置,配置用于从相应的已有节点访问所述上下文。
15.根据权利要求12所述的设备,其中所述获取装置进一步包括以下至少之一:
第一获取装置,配置用于从所述集群的已有节点获取所述至少一个文件;以及
第二获取装置,配置用于从与所述集群相关联的文件存储库获取所述至少一个文件。
16.根据权利要求12所述的设备,其中所述获取装置进一步包括:第三获取装置,配置用于并发地获取所述至少一个文件。
17.根据权利要求12所述的设备,进一步包括:
记录装置,配置用于记录在使用所述至少一个文件配置所述新节点的过程中的上下文。
18.根据权利要求17所述的设备,其中所述记录装置进一步包括以下至少一个:
第一记录装置,配置用于将所述上下文记录在所述新节点处;以及
第二记录装置,配置用于将所述上下文记录在与所述集群相关联的上下文存储库中。
CN2011102125953A 2011-07-22 2011-07-22 用于支持集群扩展的方法和设备 Pending CN102891879A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2011102125953A CN102891879A (zh) 2011-07-22 2011-07-22 用于支持集群扩展的方法和设备
US13/551,283 US9264309B2 (en) 2011-07-22 2012-07-17 Enabling cluster scaling
US13/612,445 US9288109B2 (en) 2011-07-22 2012-09-12 Enabling cluster scaling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102125953A CN102891879A (zh) 2011-07-22 2011-07-22 用于支持集群扩展的方法和设备

Publications (1)

Publication Number Publication Date
CN102891879A true CN102891879A (zh) 2013-01-23

Family

ID=47535242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102125953A Pending CN102891879A (zh) 2011-07-22 2011-07-22 用于支持集群扩展的方法和设备

Country Status (2)

Country Link
US (2) US9264309B2 (zh)
CN (1) CN102891879A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132289A (zh) * 2022-09-27 2023-05-16 马上消费金融股份有限公司 信息配置方法、装置、设备和介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3032289B1 (fr) * 2015-02-02 2018-03-16 Morpho Procede de commande de deploiement d'un programme a executer dans un parc de machines
US9848041B2 (en) 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US10148592B1 (en) 2015-06-29 2018-12-04 Amazon Technologies, Inc. Prioritization-based scaling of computing resources
US10021008B1 (en) * 2015-06-29 2018-07-10 Amazon Technologies, Inc. Policy-based scaling of computing resource groups
CN108763577A (zh) * 2018-06-05 2018-11-06 平安科技(深圳)有限公司 节点处理方法及装置、存储介质和电子设备
US11368539B1 (en) * 2021-05-27 2022-06-21 International Business Machines Corporation Application deployment in a multi-cluster environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138557A1 (en) * 2003-12-04 2005-06-23 Alcatel Method of configuring managed entities in a communications network using configuration templates
US7325097B1 (en) * 2003-06-26 2008-01-29 Emc Corporation Method and apparatus for distributing a logical volume of storage for shared access by multiple host computers
US20080263183A1 (en) * 2007-04-20 2008-10-23 Lisa Midori Nishiyama Management of Kernel configurations for nodes in a clustered system
US7587475B2 (en) * 2003-06-25 2009-09-08 Nokia Siemens Networks Oy System for joining a cluster by cloning configuration

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7924783B1 (en) * 1994-05-06 2011-04-12 Broadcom Corporation Hierarchical communications system
US20020186827A1 (en) * 2001-06-12 2002-12-12 Griffiths Michael A. Method and system for implementing call administration in a public switched telephone network
US7937455B2 (en) * 2004-07-28 2011-05-03 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US7765235B2 (en) * 2005-12-29 2010-07-27 Rovi Guides, Inc. Systems and methods for resolving conflicts and managing system resources in multimedia delivery systems
US9830145B2 (en) 2006-08-14 2017-11-28 Federal Home Loan Mortgage Corporation (Freddie Mac) Systems and methods for infrastructure and middleware provisioning
US8004617B2 (en) * 2006-08-30 2011-08-23 Ati Technologies Ulc Stand-by mode transitioning
US8028048B2 (en) 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US20080239985A1 (en) 2007-03-30 2008-10-02 International Business Machines Corporation Method and apparatus for a services model based provisioning in a multitenant environment
US8601253B2 (en) 2008-04-24 2013-12-03 International Business Machines Corporation Dynamic provisioning in data processing environment
US8032636B2 (en) 2009-02-05 2011-10-04 International Business Machines Corporation Dynamically provisioning clusters of middleware appliances
US9069644B2 (en) * 2009-04-10 2015-06-30 Electric Cloud, Inc. Architecture and method for versioning registry entries in a distributed program build
US8627145B2 (en) * 2009-12-23 2014-01-07 Texas Instruments Incorporated High volume recording of instrumentation data varying instrumentation volumes to prevent data loss
EP2572300A2 (en) * 2010-05-17 2013-03-27 Green SQL Ltd Smart database caching
US8891022B2 (en) * 2010-08-09 2014-11-18 Telegent Systems, Inc. Fast-booting broadcast television receiver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587475B2 (en) * 2003-06-25 2009-09-08 Nokia Siemens Networks Oy System for joining a cluster by cloning configuration
US7325097B1 (en) * 2003-06-26 2008-01-29 Emc Corporation Method and apparatus for distributing a logical volume of storage for shared access by multiple host computers
US20050138557A1 (en) * 2003-12-04 2005-06-23 Alcatel Method of configuring managed entities in a communications network using configuration templates
US20080263183A1 (en) * 2007-04-20 2008-10-23 Lisa Midori Nishiyama Management of Kernel configurations for nodes in a clustered system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132289A (zh) * 2022-09-27 2023-05-16 马上消费金融股份有限公司 信息配置方法、装置、设备和介质

Also Published As

Publication number Publication date
US9264309B2 (en) 2016-02-16
US9288109B2 (en) 2016-03-15
US20130024554A1 (en) 2013-01-24
US20130024551A1 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
CN102891879A (zh) 用于支持集群扩展的方法和设备
EP3418921B1 (en) Dynamic migration script management
JP5758995B2 (ja) 仮想マシン間で分析の結果を共有するためのシステム、方法及びコンピュータ可読記憶媒体
JP5719487B2 (ja) アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール)
US10891119B2 (en) Integrating and sharing software build component targets
US8832492B1 (en) Systems and methods for managing applications
JP2012520504A (ja) デバイスおよびウェブ・サービスにわたってブラウザー・キャッシュを同期させるためのプログラミング・モデル
US9275201B2 (en) Execution-based license discovery and optimization
CN104657158A (zh) 一种业务系统中业务处理的方法和装置
WO2012151912A1 (zh) 内存数据库对数据的操作方法及装置
CN113805907A (zh) 流水线滚动更新
CN109558121A (zh) 接口驱动程序的开发方法、装置、设备及存储介质
CN110908644B (zh) 状态节点的配置方法、装置、计算机设备和存储介质
CN113064676A (zh) 基于js入口的前端运行时远程组件共享机制的方法
CN108256019A (zh) 数据库主键生成方法、装置、设备及其存储介质
CN109343928B (zh) 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统
CN103176862A (zh) 用于管理数据备份任务的设备和方法
JP5222171B2 (ja) データベース管理方法およびデータベース管理システム
JP5035237B2 (ja) サーバ管理プログラム、サーバ管理装置およびサーバ管理方法
US10120968B1 (en) System and method for hierarchical library searching
EP4339774A1 (en) Automatic generation of container images
US11271999B2 (en) Flexible associativity in multitenant clustered environments
CN113377500B (zh) 一种资源调度方法、装置、设备及介质
CN108694102A (zh) 一种基于Nexus服务的数据操作方法、设备、系统和介质
US20220391223A1 (en) Adding expressiveness to plugin extensions using integration with operators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130123