CN107087032A - 实现集群组建的方法和装置 - Google Patents

实现集群组建的方法和装置 Download PDF

Info

Publication number
CN107087032A
CN107087032A CN201710335688.2A CN201710335688A CN107087032A CN 107087032 A CN107087032 A CN 107087032A CN 201710335688 A CN201710335688 A CN 201710335688A CN 107087032 A CN107087032 A CN 107087032A
Authority
CN
China
Prior art keywords
cluster
node
newly
network address
request
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
Application number
CN201710335688.2A
Other languages
English (en)
Other versions
CN107087032B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710335688.2A priority Critical patent/CN107087032B/zh
Publication of CN107087032A publication Critical patent/CN107087032A/zh
Application granted granted Critical
Publication of CN107087032B publication Critical patent/CN107087032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明揭示了一种实现集群组建的方法和装置。集群内部署节点,所述方法应用于集群的新增节点,所述方法包括:新增节点通过组播发起网络地址获取请求,新增节点与集群内所部署的节点处于相同组播组;通过集群内节点对网络地址获取请求的响应,获得集群内节点的网络地址;通过网络地址请求加入集群;随着集群内新增节点加入操作被执行而使新增节点获得集群内节点信息,完成集群加入过程。至此,便使得新增节点在集群内的加入不需要依赖于单点节点,如前述所指的控制中心,换而言之,并不存在单独的控制中心,由所获取的任一节点所对应网络地址即可完成加入过程,无需额外的操作,增强了新增节点加入以及集群实现的灵活性,灵活快速的自动组建集群。

Description

实现集群组建的方法和装置
技术领域
本发明涉及网络应用技术领域,特别涉及一种实现集群组建的方法和装置。
背景技术
随着网络的不断发展,各种网络应用层出不穷,各类网络应的实现,都离不开集群的配合,以避免随之而来的网络延时、数据丢失等等问题。现有集群的拓扑结构中,包括一控制中心,以及诸多节点。控制中心主要用来创建集群,亦可认为控制中心是集群的第一个节点,后续所有需要加入集群的节点,都需要通过控制中心来实现。
集群中,仅仅是控制中心掌握着集群内节点信息,换而言之,集群内所有节点都必须通过控制中心来获取集群的相关信息。
具体而言,当新增节点需要加入集群时,首先通过配置文件或者其它方式获取到控制中心的地址,由此地址创建到控制中心的连接,通过创建的连接而向控制中心发送加入集群请求,在控制中心的作用下完成新增节点的集群加入过程。
由此可见,集群组建依赖于控制中心。对于新增节点的加入而言,由于必须知道控制中心的地址,灵活性不佳。并且一旦控制中心发生变动,也将会相应的造成诸多不便。
发明内容
为了解决相关技术中存在的集群组建依赖于控制中心这一单点,造成新增节点的加入以及集群的实现等灵活性不佳的技术问题,本发明提供了一种实现集群组建的方法和装置。
一种实现集群组建的方法,所述集群内部署节点,所述方法应用于所述集群的新增节点,所述方法包括:
所述新增节点通过组播发起网络地址获取请求,所述新增节点与所述集群内所部署的节点处于相同组播组;
通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址;
通过所述网络地址请求加入所述集群;
随着集群内新增节点加入操作被执行而使所述新增节点获得集群内节点信息,完成所述新增节点的集群加入过程。
一种实现集群组建的方法,所述集群内部署节点,所述方法应用于所述集群内被部署的节点,所述方法包括:
所述节点接收组播的网络地址获取请求,组播所述网络地址获取请求的节点是所述集群的新增节点;
响应所述网络地址获取请求而返回自身网络地址;
随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作。
一种实现集群组建的装置,所述集群内部署节点,所述装置应用于集群的新增节点,所述装置包括:
组播模块,用于通过组播发起网络地址获取请求,所述新增节点与所述集群内所部署的节点处于相同组播组;
响应获得模块,用于通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址;
请求加入模块,用于通过所述网络地址请求加入所述集群;
节点信息获得模块,用于随着集群内新增节点加入操作被执行而使所述新增节点获得集群内节点信息,完成所述新增节点的集群加入过程。
一种实现集群组建的装置,所述集群内部署节点,所述装置应用于所述集群内被部署的节点,所述装置包括:
组播接收模块,用于接收组播的网络地址获取请求,组播所述网络地址获取请求的节点是所述集群的新增节点;
请求响应模块,用于响应所述网络地址获取请求而返回自身网络地址;
操作执行模块,用于随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作。
本发明的实施例提供的技术方案可以包括以下有益效果:
集群的实现中,其内部部署了节点,对于集群的新增节点而言,为加入集群,新增节点首先通过组播发起网络地址获取请求,新增节点与集群内所部署的节点处于相同组播组,通过集群内节点对网络地址获取请求的响应,获得集群内节点的网络地址,通过网络地址请求加入集群,随着集群内新增节点加入操作被执行而使新增节点获得集群内节点信息,完成新增节点的集群加入过程,至此,便使得新增节点在集群内的加入不需要依赖于单点节点,如前述所指的控制中心,换而言之,并不存在单独的控制中心,由所获取的任一节点所对应网络地址即可完成加入过程,无需额外的操作,增强了新增节点加入以及集群实现的灵活性,灵活快速的自动组建集群。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本发明所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种装置的框图;
图3是根据一示例性实施例示出的一种实现集群组建的方法的流程图;
图4是根据图3对应实施例示出的对步骤310的细节进行描述的流程图;
图5是图3对应实施例示出的对步骤330的细节进行描述的流程图;
图6是根据图3对应实施例示出的对步骤350的细节进行描述的流程图;
图7是根据图6对应实施例示出的对步骤351的细节进行描述的流程图;
图8是根据一示例性实施例示出的一种实现集群组建的方法的流程图;
图9是根据图8对应实施例示出的对步骤550的细节进行描述的流程图;
图10是根据一示例性实施例示出的集群内节点拓扑示意图;
图11是根据图10对应实施例示出的集群内实现新增节点加入的应用示意图;
图12是根据一示例性实施例示出的一种实现集群组建的装置的框图;
图13是根据图12对应实施例示出的对请求加入模块的细节进行描述的框图;
图14是根据一示例性实施例示出的被应用于集群内被部署节点的一种实现集群组建的装置的框图;
图15是根据图14对应实施例示出的对操作执行模块的细节进行描述的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本发明所涉及的实施环境的示意图。该实施环境包括,若干个节点110,通过若干个节点110的部署实现集群。
所指的节点110即为集群中实现网络应用功能的任一机器,比如服务器。在此实施环境中,节点110将通过本发明所提供的方法来实现新增节点加入集群,以及集群内部的各种控制实现,进而能够灵活应对集群中节点发生各种变动。
图2是根据一示例性实施例示出的一种装置的框图。例如,装置200可以是图1所示实施环境中,集群的任意一台机器。
参照图2,根据一示例性实施例示出的一种装置的框图。例如,装置200可以是图1所示实施环境中集群包含的机器,比如服务器。
参照图2,该装置200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)222(例如,一个或一个以上处理器)和存储器232,一个或一个以上存储应用程序242或数据244的存储介质230(例如一个或一个以上海量存储设备)。其中,存储器232和存储介质230可以是短暂存储或持久存储。存储在存储介质230的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器222可以设置为与存储介质230通信,在装置200上执行存储介质230中的一系列指令操作。装置200还可以包括一个或一个以上电源226,一个或一个以上有线或无线网络接口250,一个或一个以上输入输出接口258,和/或,一个或一个以上操作***241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。下述图3、图4、图5、图6、图7、图8和图9所示实施例中所述的由集群的新增节点或集群内节点所执行的步骤可以基于该图2所示的装置结构。
图3是根据一示例性实施例示出的一种实现集群组建的方法的流程图。集群内部署节点,该实现集群组建的方法应用于集群的新增节点。
请参阅图3,该实现集群组建的方法,可以包括以下步骤。
在步骤310中,新增节点通过组播发起网络地址获取请求,新增节点与集群内所部署的节点处于相同组播组。
其中,新增节点是相对于自身未加入的集群而言的,新增节点与集群中的全部节点,或者部分节点处于相同组播组,因此,将借助于组播组而请求加入集群,以成为集群中的一节点。
新增节点通过组播即可向集群中的节点发起网络地址获取请求,与新增节点处于相同组播组的节点将接收到这一网络地址获取请求,进而使得新增节点能够获得集群中节点的响应。
由此,将在新增节点与集群之间,借助于组播组使得二者能够获得一交互渠道,为新增节点加入集群提供突破口,而不需要额外的为新增节点基于集群进行各种配置文件等的设定,灵活性获得增强,使得集群之外的任一节点都能够作为新增节点而动态加入集群。
具体而言,图4是根据图3对应实施例示出的对步骤310的细节进行描述的流程图。该步骤310,如图4所示,可以包括以下步骤。
在步骤311中,新增节点根据集群内节点所在的组播组,配置相应组播地址。
对于借助组播组所实现的新增节点加入集群而言,集群中组播组的实现,简单易行,并且可以根据需要而迅速实现,一方面保证了新增节点能够实现集群加入的可靠性和稳定性,另一方面,也使得集群的组建能够动态实现。
在步骤313中,按照组播地址在集群内节点所在组播组内进行组播,以发起网络地址获取请求。
其中,新增节点将通过组播地址发起组播,集群内所有节点都会接收到新增节点发送的网络地址获取请求。
集群内,与新增节点处于相同组播组的节点在接收网络地址获取请求之后,都获取自身的网络地址,并封装至网络地址获取请求所对应的响应包中,进而向新增节点返回响应包,由此,新增节点便能够获得集群内节点的网络地址。
通过此示例性实施例,便为新增节点中组播的进行提供了具体实现,对于不知晓集群所相关的任何信息,且独立于集群之外的新增节点而言,通过此示例性实施例得以发生与集群之间的交互,进而为后续加入集群的最终实现奠定基础。
在步骤330中,通过集群内节点对网络地址获取请求的响应,获得集群内节点的网络地址。
其中,集群内与新增节点处于相同组播组的节点,基于组播的实现机制,都必然会对接收的网络地址获取请求进行响应。与之相对应的,新增节点会获得集群内至少一个节点的响应,进而相应获得集群内至少一个节点的网络地址。
进一步的,图5是图3对应实施例示出的对步骤330的细节进行描述的流程图。该步骤330,如图5所示,可以包括以下步骤。
在步骤331中,接收集群内节点响应网络地址获取请求而返回的响应包。
其中,如前所述的,集群内每一节点,其在接收网络地址获取请求之后都将对此进行响应,向新增节点返回响应包。响应包即为节点对网络地址获取请求的响应。
响应包携带了集群内节点的网络地址。新增节点在发起网络地址获取请求之后,便会接收集群内部分或者所有节点返回的响应包,任一响应包都有相应节点的网络地址,至此,便使得新增节点能够获得能够实现集群内交互的网络地址。
在步骤333中,进行响应包中网络地址的提取,获得集群内节点的网络地址。
其中,新增节点对接收的一个或多个响应包分别进行网络地址的提取,获得集群内多个节点的网络地址,任一网络地址都能够使得新增节点与集群内的节点进行交互。
在一个示例性实施例中,步骤330之前,该实现集群组建的方法,还包括以下步骤。
判断集群内节点是否在指定时间内响应网络地址获取请求,如果为否,则新增节点创建集群,并作为集群的控制节点,如果为是,则执行此步骤330。
其中,新增节点一旦发起网络地址获取请求,便触发计时,以确认在指定时间内是否获得集群内节点的响应,如果为否,则说明集群未被创建,新增节点可以作为控制节点而创建集群,进而等待其它新增节点加入集群。
控制节点用于控制集群内新增节点的加入过程,以及集群内各种功能的实现。对于一集群,存在着一控制节点。集群中每一节点都存储了集群内节点信息,集群内节点信息至少记录了集群内部署的节点以及每一节点的网络地址。由此,使得集群内任一节点都具备成为控制节点的条件,进而一旦控制节点发生故障,便可为集群配置新的控制节点,一方面保证了集群内的容灾性,另一方面也保证了集群的鲁棒性。
如果新增节点在指定时间内已获得集群内节点的响应,则由此响应获得网络地址,即如步骤331至步骤333所示。
进一步的,所指的是否在指定时间内获得集群内节点的响应,即为是否在指定时间内获得集群内节点的响应包。发起网络地址获取请求之后如果计时已经达到指定时间,但仍未获得响应,即接收到响应包,则说明集群并未被组建,新增节点直接进行集群的创建。
在步骤350中,通过网络地址请求加入集群。
其中,由集群内节点的响应而获得网络地址之后,即可经由获得的网络地址请求加入集群。如前所述的,集群内节点响应而获得的网络地址可能为一个或者多个,在获得的网络地址为多个时,将选取一网络地址而请求加入集群。
在步骤370中,随着集群内新增节点加入操作被执行而使新增节点获得集群内节点信息,完成新增节点的集群加入过程。
其中,集群内任一节点接收到新增节点的加入集群请求之后,都将为新增节点执行相应的集群加入过程。在此应当说明的是,集群内接收到加入集群请求的节点,可以是集群的控制节点,也可以集群内普通节点。
接收到加入集群请求的节点是控制节点,则可以直接执行集群内新增节点加入操作;接收到加入集群请求的节点是集群内普通节点,则需要将加入集群请求转发至集群内的控制节点。
集群内新增节点操作,是指在集群内为新增节点的加入而执行的操作。在一个示例性实施例中,根据所接收加入集群请求的不同,所执行的集群内新增节点操作有所不同。具体而言,相对于控制节点,集群内的普通节点所执行的集群内新增节点操作增加了将加入集群请求转发至控制节点的过程。
除此之外,无论何种节点,在集群内新增节点加入操作都将执行向新增节点返回响应包,以及向集群内所有节点进行新增节点信息的通知,对此,便完成新增节点的集群加入过程。
通过如上所述的示例性实施例,实现了集群内节点的动态部署,使得任一新增节点都可以灵活快速加入集群,降低了集群组建的复杂性,增加了集群管理的灵活性,任一新增节点都可以自动加入到集群中。
图6是根据图3对应实施例示出的对步骤350的细节进行描述的流程图。该步骤350,如图6所示,可以包括以下步骤。
在步骤351中,随机选取集群内节点的网络地址。
其中,如前所述的,由集群内节点的响应获得了集群内多个节点的网络地址,在这些网络地址中,进行一网络地址的随机选取,随机选取而获得的网络地址用于新增节点实现与集群内节点的通信。
在步骤353中,按照随机选取的网络地址创建自身与集群内节点之间的连接。
在步骤355中,通过创建的连接发起加入集群请求。
通过如上所述的示例性实施例,新增节点得以与集群内一节点建立连接,而该节点作为集群内的一节点,能够与集群内的其它节点网络互联,因此新增节点能够经由所连接的节点而迅速发起集群内新增节点的加入过程,具备非常高的集群加入灵活性,不需要任何额外操作。
进一步的,图7是根据图6对应实施例示出的对步骤351的细节进行描述的流程图。在一个示例性实施例中,步骤351,如图7所示,可以包括以下步骤。
在步骤3511中,获取静态配置的网络地址,网络地址对应集群内部署的所有节点中与新增节点未处于相同组播组的其它节点。
其中,静态配置的网络地址是指集群内一个或者多个节点的网络地址。将集群内一个或者多个节点的网络地址固定地配置于新增节点中,以用于新增节点在后续发起进行的节点连接和加入集群请求的发起。
进行新增节点中静态配置的网络地址,也是对应于集群中的节点,但是,所对应的节点与新增节点并未处理相同组播组。
在步骤3513中,在静态配置的网络地址和通过网络地址获取请求而获得的网络地址中,随机选取一网络地址。
其中,新增节点中,一方面通过进行的静态配置,存在着一些网络地址,另一方面,通过组播发起的网络地址获取请求也存在着其它一些网络地址。这两类网络地址,都能够使得新增节点与集群中的节点通信。
因此,新增节点将在这两类网络地址中随机选取一网络地址。也就是说,在一个示例性实施例中,所进行的网络地址随机选取不再限于通过组播而获得的网络地址,即便集群内不存在与新增节点处于相同组播组的节点也能够实现集群的自动加入,消除了局限性,减少了由于组播所带来的约束,在组播和静态网络地址混合作用下实现集群组建。
在另一个示例性实施例中,对于静态配置的网络地址和通过网络地址获取请求而获得的网络地址,新增节点将使用一网络地址建立连接,进而创建集群,如果一连接失败,则使用另一网络地址,以此类推,若全部连接都失败,则新增节点进行集群的创建,自身将作为所创建集群的控制节点。
通过此示例性实施例,对于集群的组建和加入而言,保证了无论处于何种状况均能够实现集群,集群组建的稳定性得到增强。
与之相对应的,随着新增节点加入集群过程的发生,集群内节点也将对此进行响应,即相对实现一种实现集群组建的方法,其应用于集群内被部署的节点中。
图8是根据一示例性实施例示出的一种实现集群组建的方法的流程图。该实现集群组建的方法,如图8所示,可以包括以下步骤。
在步骤510中,节点接收组播的网络地址获取请求,组播网络地址获取请求的节点是集群的新增节点。
其中,集群内部署有节点,集群内部署的一节点处于组播组,新增节点也处于该组播组。集群内与新增节点处于相同组播组的节点都将获得网络地址获取请求。
在步骤530中,响应网络地址获取请求而返回自身网络地址。
其中,集群内节点所进行的网络地址请求响应,是通过返回携带自身网络地址的响应包实现。具体的,集群内节点在其接收到网络地址获取请求之后,响应网络地址获取请求进行自身网络地址的获取,并打包,向新增节点返回携带自身网络地址的响应包。
在步骤550中,随着新增节点根据网络地址请求加入集群,执行新增节点加入操作。
其中,新增节点必然随着网络地址的获得而向集群内一节点发起加入集群请求,进而使得集群内节点被触发来执行新增节点加入操作。具体而言,新增节点加入操作由集群内控制节点执行,接收到加入集群请求的节点为控制节点;当然,也可由集群内一普通节点和控制节点共同执行,在接收到加入集群请求的节点为普通节点的情况下。
可以理解,对于新增节点加入集群的实现,集群内任一接收到其请求的节点,都可以发起新增节点加入操作,不需要由特定节点发起,进而使得集群内节点对新增节点的请求加入不存在任何约束,灵活性高的同时,保证集群内节点的动态变更。
图9是根据图8对应实施例示出的对步骤550的细节进行描述的流程图。该步骤550,如图9所示,可以包括以下步骤。
在步骤551中,节点通过新增节点进行的连接创建而与新增节点进行链接,新增节点中的连接创建是根据随机选取的网络地址执行的。。
其中,如前所述的,新增节点在获得集群内若干个节点的网络地址之后,将进行网络地址的随机选取,从中获取一网络地址。通过获取的这一网络地址,集群内相应节点与新增节点实现二者之间的连接。
在步骤553中,通过连接进行新增节点所发起加入集群请求的接收。
在步骤555中,接收加入集群请求的节点判断自身是否为集群的控制节点,如果为是,则执行步骤557,如果为否,则执行步骤559。
其中,接收到加入集群请求的节点,需要对新增节点响应。具体而言,将首先判断自身是否是作为集群的控制节点而存在的,如果是,则直接分别对新增节点和集群内所有节点执行相应信息的下发,如果不是,则转发加入集群请求至控制节点,由控制节点来向新增节点和集群内所有节点下发信息。
在步骤557中,向新增节点和集群内所有节点执行新增节点加入操作,使新增节点获得集群内节点信息,集群内所有节点获得新增节点信息,完成新增节点的集群加入过程。
其中,对于新增节点,需要对其所发起的加入集群请求返回相应响应包,以便新增节点能够获得集群内节点信息,加入集群;
对于集群内节点,如前所述的,每一节点都存储有对应于所有节点的集群内节点信息,当集群内部署的节点发生变化,即新增节点的加入,故应当将新增节点信息向集群内各节点下发,进而保证各节点所存储信息是与集群的节点部署相适配,保证了信息存储的完整性和动态变更的及时性。
在步骤559中,将加入集群请求转发至集群的控制节点。
通过如上所述的示例性实施例,在控制节点的作用下,当然,在某一情况下,还存在着一普通节点的配合,集群的实现不再需要依赖于控制节点这一单点,任一接收到加入集群请求的节点,都为会新增节点执行集群加入过程。
在另一个示例性实施例中,步骤550之后,该实现集群组建的方法还包括以下步骤。
集群内控制节点发生故障之后,集群内所有节点被触发进行新控制节点的选取。
其中,如前所述的,集群内存在一控制节点,但是集群内所有节点都存储着集群内节点信息,集群内节点信息反映了集群内部署节点的拓扑结构,因此,控制节点一旦发生故障,使触发进行所有节点之间的新控制节点选取,例如,选取集群中存在时间最长的节点作为新控制节点,或者采用其它一些给定算法实现新控制节点的选取,在此不进行限定。
由此,便使得集群内控制节点具备容灾性能,控制节点故障的发生,不再出现集群无法正常运转的情况,保证了集群的可靠性和健壮性。
结合具体应用场景,描述新增节点中该实现集群组建的方法以及集群内相应节点的实现。如前所述的,该实现集群组建的方法可以应用于任一网络应用下的服务器集群部署。
图10是根据一示例性实施例示出的集群内节点拓扑示意图。如图10所示,集群内部署了节点1、……、节点N、……、节点X。
其中,除了节点X为控制节点,其它节点均为普通节点。新增节点这是区别于这些节点,处于集群之外的节点。
图11是根据图10对应实施例示出的集群内实现新增节点加入的应用示意图。在需要组建集群的应用场景中,均可通过本发明的方案灵活快速的自动组建集群。
具体的,如图11所示,新增节点将执行步骤610至步骤640的过程,通过集群内节点的响应而发起集群内新增节点加入操作的执行。
集群内节点,若是控制节点,则执行步骤680至步骤690的实现过程,若并非控制节点,则需要执行步骤670转发至控制节点之后,方可执行控制节点通过的实现过程。
由此,便完成了集群的自动组建,并且能够适应于所存在的各种情况,具备非常高的自适应性。
下述为本发明装置实施例,可以用于执行本发明上述实现集群组建的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明实现集群组建的方法实施例。
图12是根据一示例性实施例示出的一种实现集群组建的装置的框图。集群内部署节点,该实现集群组建的装置应用于集群的新增节点,如图12所示,该装置可以包括但不限于:组播模块710、响应获得模块730、请求加入模块750和节点信息获得模块770。
组播模块710,用于通过组播发起网络地址获取请求,新增节点与集群内所部署的节点处于相同组播组。
响应获得模块730,用于通过集群内节点对网络地址获取请求的响应,获得集群内节点的网络地址。
请求加入模块750,用于通过网络地址请求加入集群。
节点信息获得模块770,用于随着集群内新增节点加入操作被执行而使新增节点获得集群内节点信息,完成新增节点的集群加入过程。
在另一个示例性实施例中,该实现集群组建的装置,还包括但不限于:集群创建模块。该集群创建模块用于判断集群内节点是否在指定时间内响应网络地址获取请求,如果为否,则创建集群,并使所在新增节点作为集群的控制节点,如果为是,则响应获得模块730被触发。
图13是根据图12对应实施例示出的对请求加入模块750的细节进行描述的框图。获得的网络地址为多个,如图13所示,该请求加入模块750,可以包括但不限于:地址随机选取单元751、连接创建单元753和加入请求发起单元755。
地址随机选取单元751,用于随机选取集群内节点的网络地址。
连接创建单元753,用于按照随机选取的网络地址创建自身与集群内节点之间的连接。
加入请求发起单元755,用于通过创建的连接发起加入集群请求。
与之相对应的,随着新增节点加入集群过程的发生,集群内节点也将对此进行响应,即相对实现一种实现集群组建的装置,其应用于集群内被部署的节点中。
图14是根据一示例性实施例示出的被应用于集群内被部署节点的一种实现集群组建的装置的框图。该实现集群组建的装置,如图14所示,可以包括但不限于:组播接收模块810、请求响应模块830和操作执行模块850。
组播接收模块810,用于接收组播的网络地址获取请求,组播网络地址获取请求的节点是集群的新增节点。
请求响应模块830,用于响应网络地址获取请求而返回自身网络地址。
操作执行模块850,用于随着新增节点根据网络地址请求加入集群,执行新增节点加入操作。
图15是根据图14对应实施例示出的对操作执行模块的细节进行描述的框图。该操作执行模块850,如图15所示,可以包括但不限于:连接被创建单元851、加入请求接收单元853、控制节点判断单元854、加入过程执行单元855和请求转发单元856。
连接被创建单元851,用于通过新增节点进行的连接创建而与新增节点进行链接,新增节点中的连接创建是根据随机选取的网络地址执行的。
加入请求接收单元853,用于通过连接进行新增节点所发起加入集群请求的接收。
控制节点判断单元854,用于接收加入集群请求的节点判断自身是否为集群的控制节点,如果为是,则触发加入过程执行单元855,如果为否,则触发请求转发单元856。
加入过程执行单元855用于向新增节点和集群内所有节点执行新增节点加入操作,使新增节点获得集群内节点信息,集群内所有节点获得新增节点信息,完成所新增节点的集群加入过程。
请求转发单元856,用于如果接收所述加入集群请求的节点自身不为集群的控制节点,则将加入集群请求转发至集群的控制节点。
在另一个示例性实施例中,实现集群组建的装置,还包括但不限于:控制节点选取模块。该控制节点选取模块用于集群内控制节点发生故障之后,集群内所有节点被触发进行新控制节点的选取。
可选的,本发明还提供一种节点,执行图3、图4、图5、图6和图7任一所示的实现集群组建的方法的全部或者部分步骤,集群内部署节点,该实现集群组建的方法应用于集群的新增节点。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行:
所述新增节点通过组播发起网络地址获取请求,所述新增节点与所述集群内所部署的节点处于相同组播组;
通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址;
通过所述网络地址请求加入所述集群;
随着集群内新增节点加入操作被执行而使所述新增节点获得集群内节点信息,完成所述新增节点的集群加入过程。
该实施例中的装置的处理器执行操作的具体方式已经在有关该实现集群组建的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
可选的,本发明还提供一种节点,执行图8和图9任一所示的实现集群组建的方法的全部或者部分步骤,集群内部署节点,该方法应用于集群内被部署的节点。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行:
所述节点接收组播的网络地址获取请求,组播所述网络地址获取请求的节点是所述集群的新增节点;
响应所述网络地址获取请求而返回自身网络地址;
随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作。
该实施例中的装置的处理器执行操作的具体方式已经在有关该实现集群组建的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (14)

1.一种实现集群组建的方法,其特征在于,所述集群内部署节点,所述方法应用于所述集群的新增节点,所述方法包括:
所述新增节点通过组播发起网络地址获取请求,所述新增节点与所述集群内所部署的节点处于相同组播组;
通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址;
通过所述网络地址请求加入所述集群;
随着集群内新增节点加入操作被执行而使所述新增节点获得集群内节点信息,完成所述新增节点的集群加入过程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述集群内节点是否在指定时间内响应所述网络地址获取请求,如果为否,则所述新增节点创建集群,并作为所述集群的控制节点,如果为是,则执行所述通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址的步骤。
3.根据权利要求1所述的方法,其特征在于,获得的所述网络地址为多个,所述通过所述网络地址请求加入集群,包括:
随机选取集群内节点的网络地址;
按照所述随机选取的网络地址创建自身与集群内节点之间的连接;
通过创建的所述连接发起加入集群请求。
4.一种实现集群组建的方法,其特征在于,所述集群内部署节点,所述方法应用于所述集群内被部署的节点,所述方法包括:
所述节点接收组播的网络地址获取请求,组播所述网络地址获取请求的节点是所述集群的新增节点;
响应所述网络地址获取请求而返回自身网络地址;
随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作。
5.根据权利要求4所述的方法,其特征在于,所述随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作,包括:
所述节点通过新增节点进行的连接创建而与所述新增节点进行链接,所述新增节点中的连接创建是根据随机选取的网络地址执行的;
通过所述连接进行所述新增节点所发起加入集群请求的接收;
接收所述加入集群请求的所述节点判断自身是否为所述集群的控制节点,如果为是,则
向所述新增节点和集群内所有节点执行新增节点加入操作,使新增节点获得集群内节点信息,集群内所有节点获得新增节点信息,完成所新增节点的集群加入过程。
6.根据权利要求5所述的方法,其特征在于,所述随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作,还包括:
如果接收所述加入集群请求的所述节点自身不为所述集群的控制节点,则将所述加入集群请求转发至所述集群的控制节点。
7.根据权利要求5所述的方法,其特征在于,所述随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作之后,所述方法还包括:
所述集群内控制节点发生故障之后,所述集群内所有节点被触发进行新控制节点的选取。
8.一种实现集群组建的装置,其特征在于,所述集群内部署节点,所述装置应用于集群的新增节点,所述装置包括:
组播模块,用于通过组播发起网络地址获取请求,所述新增节点与所述集群内所部署的节点处于相同组播组;
响应获得模块,用于通过集群内节点对所述网络地址获取请求的响应,获得所述集群内节点的网络地址;
请求加入模块,用于通过所述网络地址请求加入所述集群;
节点信息获得模块,用于随着集群内新增节点加入操作被执行而使所述新增节点获得集群内节点信息,完成所述新增节点的集群加入过程。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
集群创建模块,用于判断所述集群内节点是否在指定时间内响应所述网络地址获取请求,如果为否,则创建集群,并使所在新增节点作为所述集群的控制节点,如果为是,则所述响应获得模块被触发。
10.根据权利要求8所述的装置,其特征在于,获得的所述网络地址为多个,所述请求加入模块包括:
地址随机选取单元,用于随机选取集群内节点的网络地址;
连接创建单元,用于按照所述随机选取的网络地址创建自身与集群内节点之间的连接;
加入请求发起单元,用于通过创建的所述连接发起加入集群请求。
11.一种实现集群组建的装置,其特征在于,所述集群内部署节点,所述装置应用于所述集群内被部署的节点,所述装置包括:
组播接收模块,用于接收组播的网络地址获取请求,组播所述网络地址获取请求的节点是所述集群的新增节点;
请求响应模块,用于响应所述网络地址获取请求而返回自身网络地址;
操作执行模块,用于随着所述新增节点根据所述网络地址请求加入所述集群,执行新增节点加入操作。
12.根据权利要求11所述的装置,其特征在于,所述操作执行模块包括:
连接被创建单元,用于通过新增节点进行的连接创建而与所述新增节点进行链接,所述新增节点中的连接创建是根据随机选取的网络地址执行的;
加入请求接收单元,用于通过所述连接进行所述新增节点所发起加入集群请求的接收;
控制节点判断单元,用于接收所述加入集群请求的所述节点判断自身是否为所述集群的控制节点,如果为是,则触发加入过程执行单元;
所述加入过程执行单元用于向所述新增节点和集群内所有节点执行新增节点加入操作,使新增节点获得集群内节点信息,集群内所有节点获得新增节点信息,完成所新增节点的集群加入过程。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
请求转发单元,用于如果接收所述加入集群请求的所述节点自身不为所述集群的控制节点,则将所述加入集群请求转发至所述集群的控制节点。
14.根据权利要求12所述的装置,其特征在于,所述装置包括:
控制节点选取模块,用于所述集群内控制节点发生故障之后,所述集群内所有节点被触发进行新控制节点的选取。
CN201710335688.2A 2017-05-11 2017-05-11 实现集群组建的方法和装置 Active CN107087032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710335688.2A CN107087032B (zh) 2017-05-11 2017-05-11 实现集群组建的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710335688.2A CN107087032B (zh) 2017-05-11 2017-05-11 实现集群组建的方法和装置

Publications (2)

Publication Number Publication Date
CN107087032A true CN107087032A (zh) 2017-08-22
CN107087032B CN107087032B (zh) 2018-09-11

Family

ID=59607376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710335688.2A Active CN107087032B (zh) 2017-05-11 2017-05-11 实现集群组建的方法和装置

Country Status (1)

Country Link
CN (1) CN107087032B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833169A (zh) * 2018-06-21 2018-11-16 郑州云海信息技术有限公司 一种节点上线管理方法和节点
CN109194513A (zh) * 2018-09-10 2019-01-11 四川长虹电器股份有限公司 一种api网关智能感知集群的方法
CN110234154A (zh) * 2019-06-17 2019-09-13 广东工业大学 一种支持自组网的户外团队通讯***
CN111478953A (zh) * 2020-03-27 2020-07-31 北京金山云网络技术有限公司 服务器集群的自构建方法、装置、***、设备及存储介质
CN113660339A (zh) * 2021-08-18 2021-11-16 北京百度网讯科技有限公司 用于去中心化集群的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468070A (zh) * 2013-09-17 2015-03-25 鸿富锦精密工业(深圳)有限公司 网络群组建立***及网络群组建立方法
CN104506330A (zh) * 2014-11-28 2015-04-08 北京奇艺世纪科技有限公司 一种消息同步方法和***
CN105450686A (zh) * 2014-08-19 2016-03-30 Tcl集团股份有限公司 一种服务器集群的组建方法和装置
CN105897827A (zh) * 2015-11-27 2016-08-24 乐视云计算有限公司 服务器节点、局域网服务器集群及其实现方法
CN106227490A (zh) * 2016-07-29 2016-12-14 中兴通讯股份有限公司 云桌面***、云终端、及申请加入组播组的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468070A (zh) * 2013-09-17 2015-03-25 鸿富锦精密工业(深圳)有限公司 网络群组建立***及网络群组建立方法
CN105450686A (zh) * 2014-08-19 2016-03-30 Tcl集团股份有限公司 一种服务器集群的组建方法和装置
CN104506330A (zh) * 2014-11-28 2015-04-08 北京奇艺世纪科技有限公司 一种消息同步方法和***
CN105897827A (zh) * 2015-11-27 2016-08-24 乐视云计算有限公司 服务器节点、局域网服务器集群及其实现方法
CN106227490A (zh) * 2016-07-29 2016-12-14 中兴通讯股份有限公司 云桌面***、云终端、及申请加入组播组的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833169A (zh) * 2018-06-21 2018-11-16 郑州云海信息技术有限公司 一种节点上线管理方法和节点
CN109194513A (zh) * 2018-09-10 2019-01-11 四川长虹电器股份有限公司 一种api网关智能感知集群的方法
CN110234154A (zh) * 2019-06-17 2019-09-13 广东工业大学 一种支持自组网的户外团队通讯***
CN110234154B (zh) * 2019-06-17 2021-11-30 广东工业大学 一种支持自组网的户外团队通讯***
CN111478953A (zh) * 2020-03-27 2020-07-31 北京金山云网络技术有限公司 服务器集群的自构建方法、装置、***、设备及存储介质
CN111478953B (zh) * 2020-03-27 2022-09-06 北京金山云网络技术有限公司 服务器集群的自构建方法、装置、***、设备及存储介质
CN113660339A (zh) * 2021-08-18 2021-11-16 北京百度网讯科技有限公司 用于去中心化集群的方法和装置
CN113660339B (zh) * 2021-08-18 2023-08-04 北京百度网讯科技有限公司 用于去中心化集群的方法和装置

Also Published As

Publication number Publication date
CN107087032B (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN107087032B (zh) 实现集群组建的方法和装置
CN107332876B (zh) 区块链状态的同步方法及装置
CN106657174B (zh) 一种数据同步方法、更新方法及装置
CN102395144B (zh) 无线接入点升级方法、***及设备
CN105392181B (zh) 一种智能设备的联网方法、装置及***
WO2020107691A1 (zh) 蓝牙连接方法及装置
CN103780615B (zh) 一种在多个服务器间客户端会话数据共享方法
US7920532B2 (en) Method and apparatus for providing distributed service composition model for ad hoc networks
CN108270818A (zh) 一种微服务架构***及其访问方法
CN111200622B (zh) 一种资源传输方法及装置、存储介质
CN104184756A (zh) 一种数据同步方法、装置及***
CN105656763A (zh) 一种消息推送方法和装置
CN106445473A (zh) 一种容器部署方法及装置
EP3213441B1 (en) Redundancy for port extender chains
CN110582998A (zh) 群组的通信方法及装置、计算机存储介质、计算机设备
CN106230791A (zh) 一种单业务多策略快速匹配的方法和装置
US20240214277A1 (en) A packet data unit session for machine learning exploration for wireless communication network optimization
CN105430028A (zh) 服务调用方法、提供方法及节点
CN113055457A (zh) 接入控制与数据转发方法、装置、电子设备及存储介质
CN113261249A (zh) 一种数据传输方法、相关设备及计算机存储介质
CN105281940B (zh) 一种基于netconf协议的hello报文交互的方法、设备和***
CN104767664A (zh) 一种环形通信网络增减从节点的方法、装置及***
CN102882906A (zh) 受限应用协议中数据通信的方法和装置
CN104079663A (zh) 分布式实时同步网络***及其通告数据的方法
JP7149328B2 (ja) カップリングリダイレクト方法および装置

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