一种设备间的组网方法、装置及系统与流程

文档序号:11732006阅读:263来源:国知局
一种设备间的组网方法、装置及系统与流程

本发明涉及通信技术领域,具体涉及一种设备间的组网方法、装置及系统。



背景技术:

目前在设计数据通信系统缓存时,为了更近使用缓存(速度更快),接入层集群中每台设备都需要在进程中存储公共数据。这些公共数据的来源是不同的,从信息源获取的成本较大,因此为了在集群中提高缓存的使用率以及保持一致性,需要在集群中的设备之间同步缓存数据。

在缓存数据同步的过程中,首先需要通过集群中设备组网,建立设备间的网络,然后,基于该网络来实现集群中设备之间的缓存数据同步。通常缓存数据同步过程中,采用master/slave(主/从)模型来组网。

然而,目前的master/slave组网方式,需要进行大量复杂的手动配置,比如需要在集群中各设备上手工配置哪些设备作为master,哪些作为slave等;因此,降低了设备间的组网效率。



技术实现要素:

本发明实施例提供一种设备间的组网方法、装置及系统,可以提高设备间的组网效率。

本发明实施例提供一种设备间的组网方法,包括:

获取候选列表信息,所述候选列表信息包括设备集群内候选主设备的网络地址;

根据候选列表信息向所述设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求;

接收所述其他候选主设备根据所述第一主设备协商请求返回的协商结果;

根据其他候选主设备返回的协商结果确定本设备是否为主设备;

若是,则与所述设备集群内除本设备以外的其他设备建立通信通道,以组成网络。

相应的,本发明实施例还提供一种设备间的组网装置,包括:

获取单元,用于获取候选列表信息,所述候选列表信息包括设备集群内候选主设备的网络地址;

发送单元,用于根据候选列表信息向所述设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求;

结果接收单元,用于接收所述其他候选主设备根据所述第一主设备协商请求返回的协商结果;

第一确定单元,用于根据其他候选主设备返回的协商结果确定本设备是否为主设备;

通信建立单元,用于在确定单元确定本设备为主设备时,与所述设备集群内除本设备以外的其他设备建立通信通道,以组成网络。

相应的,本发明实施例还提供一种设备间的组网系统,包括本发明实施例任一提供的设备间的组网装置。

本发明实施例采用获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址,然后,根据候选列表信息向该设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求,接收该其他候选主设备根据该第一主设备协商请求返回的协商结果,根据其他候选主设备返回的协商结果确定本设备是否为主设备,若是,则与该设备集群内除本设备以外的其他设备建立通信通道,以组成网络。由于该方案可以通过设备间的自协商机制自动选举出主设备,以实现设备间的组网;其无需在每台设备上进行大量复杂的手动配置,因此,可以提高设备间的组网速度以及效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的设备间的组网系统的场景示意图;

图1b是本发明实施例提供的设备间的组网方法的流程示意图;

图1c是本发明实施例提供的一种设备集群的示意图;

图1d是本发明实施例提供的另一种设备集群的示意图;

图1e是本发明实施例提供的协商选举主设备的示意图;

图1f是本发明实施例提供的组网示意图;

图2是本发明实施例提供的协商主设备的流程示意图;

图3是本发明实施例提供的请求处理的流程示意图;

图4是本发明实施例提供的一种购物号系统的结构示意图;

图5a是本发明实施例提供的候选服务器在协商过程中的一种处理流程示意图;

图5b是本发明实施例提供的候选服务器在协商过程中的另一种处理流程示意图;

图6a是本发明实施例提供的设备间的组网装置的第一种结构示意图;

图6b是本发明实施例提供的设备间的组网装置的第二种结构示意图;

图6c是本发明实施例提供的设备间的组网装置的第三种结构示意图;

图6d是本发明实施例提供的设备间的组网装置的第四种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种设备间的组网方法、装置及系统。

本发明实施例提供了一种设备间的组网系统,该系统可以包括本发明实施例所提供的任一种设备间的组网装置,参见图1a,以设备为服务器为例,该设备间的组网装置具体可以集成在服务器中。在图1a中,该组网装置可以集成在各候选主设备即候选服务器中。此外,该设备间的组网系统还可以包括其他的设备,比如,还可以包括从属于主设备的从设备等等。其中,从设备可以用于在确定主设备之后,与主设备建立通信通道以实现组网等等。

如图1a所示,当需要进行组网时,比如,在同步缓存数据的过程中需要组网时,候选主设备(如候选服务器)可以获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址,然后,根据候选列表信息向该设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求,接收该其他候选主设备根据该第一主设备协商请求返回的协商结果,根据其他候选主设备返回的协商结果确定本设备是否为主设备,若是,则与该设备集群内除本设备以外的其他设备建立通信通道,以组成网络。

此外,候选主设备在确定本设备不为主设备时,可以确定本设备为从设备,并且与当前的主设备建立通信通道,以实现组网。比如,当确定本设备不为主设备,且当前已存在主设备时,可以确定本设备为从设备。

以下将分别进行详细说明。

实施例一、

本实施例将从设备间的组网装置的角度进行描述,该设备间的组网装置具体可以集成在服务器等网络设备中。

一种设备间的组网方法,包括:获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址,然后,根据候选列表信息向该设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求,接收该其他候选主设备根据该第一主设备协商请求返回的协商结果,根据其他候选主设备返回的协商结果确定本设备是否为主设备,若是,则与该设备集群内除本设备以外的其他设备建立通信通道,以组成网络。

如图1b所示,该设备间的组网方法的具体流程可以如下:

101、获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址。

其中,候选列表信息可以预先配置,并保存在设备的存储单元中,比如,可以预先在候选主设备中配置候选列表信息。此时,候选主设备可以从本地存储单元中提取候选列表信息。

本实施例中候选主设备可用提供主机服务的候选设备,该候选主设备可以有多个,此时,该候选列表信息可以包括每个候选主设备的网络地址。实际应用中,该网络地址可以为候选主设备的ip(internetprotocoladdress,互联网协议地址)等。

比如,参考图1c,候选主设备可以为服务器,且数量为3,即设备集群包括候选服务器1、候选服务器2、以及候选服务器3;此时,候选列表信息可以包括候选服务器1的ip记为ip1、候选服务器2的的ip记为ip2以及候选服务器3的的ip记为ip3。

实际应用中,该设备集群还可以包括从设备,即该设备集群内存在候选主设备和从设备。也即在组网初始阶段,设备集群存在两种设备,一种是候选主设备,另一种是已经确定的从设备。参考图1d,设备集群包括:候选服务器1、候选服务器2、以及候选服务器3以及从服务器1、从服务器2、从服务器3。

102、根据候选列表信息向该设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求。

具体地,以分多个候选主设备分别集成该该设备间的组网装置为例,该候选主设备可以分别向其他候选主设备发送第一主设备协商请求,以向其他候选主设备协商或者询问自己是否能够提供主机服务,即协商或询问自己是否能够成为主设备。

比如,参考图1e,候选服务器1可以分别向候选服务器2和候选服务器3发送主设备协商请求。同理,候选服务器2可以分别向候选服务器1和候选服务器3发送主设备协商请求,候选服务器3可以分别向候选服务器1和候选服务器2发送主设备协商请求;通过候选服务器直接相互发送协商请求,这样可以实现通过候选服务器之间相互协商来选举出成主设备。

实际应用中,第一主设备协商请求还可以携带本设备的网络地址如本设备的ip,以便其他候选主设备可以基于自己的网络地址以及请求发送方的网络地址来返回相应的协商结果。

103、接收该其他候选主设备根据该第一主设备协商请求返回的协商结果。

其中,协商可以结果可以包括:用于指示同意请求发送方设备作为主设备的指示信息、用于指示不同意请求发送方设备作为主设备的指示信息。

比如,当选取设备ip地址最大的设备作为主设备时,当其他候选主设备的ip大于请求发送方设备的ip时,返回不同意请求发送方设备作为主设备的指示信息;当其他候选主设备的ip不大于请求发送方设备的ip时,返回同意请求发送方设备作为主设备的指示信息。或者,又比如,当其他候选主设备已经被选举为主设备时,可以返回不同意请求发送方设备作为主设备的指示信息;或者当其他候选主设备的存储空间不足或者网络连接不稳定时,返回同意请求发送方设备作为主设备的指示信息。

实际应用中,可以采用具体参数的值来表示同意或者不同意发送方作为设备,也即本实施例指示信息可以包括用于指示是否同意请求发送方设备作为主设备的指示参数。

其中,指示参数可以为用于指示是否同意请求发送方设备作为主设备的参数,比如,该指示参数的不同参数值可表示对于请求发送方设备作为主设备的态度(同意或不同意)。

例如,当指示参数的参数值为0时表示:同意请求发送方设备作为主设备;当指示参数的参数值为3时表示:不同意请求发送方设备作为主设备。

又比如,可以该指示参数的不同字段内容可表示对于请求发送方设备作为主设备的态度(同意或不同意);如,当指示参数为y时表示:同意请求发送方设备作为主设备;当指示参数为n时表示:不同意请求发送方设备作为主设备。

参考图1e,候选服务器1分别向候选服务器2和候选服务器3发送主设备协商请求之后,候选服务器2和候选服务器3将会根据该请求返回相应的协商结果。该协商结果可以用于指示是否同意请求发送方设备作为主设备的指示参数。比如,该协商结果可以包括:指示参数1和指示参数2,该指示参数的参数值可以为0、指示参数2的参数值可以为3。

104、根据其他候选主设备返回的协商结果确定本设备是否为主设备,若是,则执行步骤105。

具体地,协商结果包括:指示是否同意请求发送方设备(即本设备)作为主设备的指示参数,此时,步骤“根据其他候选主设备返回的协商结果确定本设备是否为主设备”可以包括:

获取指示同意本设备作为主设备的指示参数的数量;

当数量大于或等于预设阈值时,则确定本设备为主设备;

当数量小于预设阈值时,则确定本设备不为主设备,比如可以确定本设备为从设备等。

该预设阈值可以基于候选主设备的数量来设定,优选地,该预设阈值可以比候选主设备的总数量小一;也即在其他候选主设备均同意本设备作为主设备时,才确定本设备为主设备。比如候选主设备为n个(n>1,且为正整数),此时预设阈值可以为n-1。

又比如,在一些情况下,在组网前某个候选主设备已经确定为主设备,那么此时,协商结果还可以包括:用于指示请求接收方设备即其他候选主设备为主设备的指示信息,指示信息可以包括用于其他候选主设备为主设备的指示参数,实际应用中,可以不同的参数值来指示其他候选主设备是否为主设备,比如,可以参数值为1的指示参数来指其他候选主设备为主设备等。此时,“根据其他候选主设备返回的协商结果确定本设备是否为主设备”可以包括:

当协商结果包括用于指示其他候选主设备为主设备的指示参数时,确定本设备不为主设备;

当协商结果不包括用于指示其他候选主设备为主设备的指示参数时,获取指示同意本设备作为主设备的指示参数的数量;

根据该数量确定本设备是否为主设备。

比如,可以将该数量与预设阈值进行比较,大于该预设阈值时,确定本设备为主设备,否则,确定本设备不为主设备。

可选地,在某些情况下,在组网前候选主设备已经确定为从设备,那么协商结果还可以包括:用于指示请求接收方设备即其他候选主设备为从设备的指示信息,如指示参数;实际应用中,可以通过不同参数值的指示参数来指示其他候选主设备是否为从设备,比如,可以通过参数值为2的指示参数来指示其他候选主设备为从设备;此时,步骤“根据该数量确定本设备是否为主设备”可以包括:

根据用于指示其他候选主设备为从设备的指示参数的数量和候选主设备的总数量设置预设阈值;

将获取指示同意本设备作为主设备的指示参数的数量与该预设阈值进行比较;

当大于或者等于预设阈值时,则确定本设备为主设备;否则,不为主设备。

比如,候选主设备的数量为n,如果用于指示其他候选主设备为从设备的指示参数的数量为m,那么此时,预设阈值可以为n-m。

105、与该设备集群内除本设备以外的其他设备建立通信通道,以实现组网。

为方便设备网络的扩容、缩容;本实施例中与其他设备建立通信通道,可以由设备集群内其他设备主动搜寻主设备,并发起通信连接,以实现扩容、缩容自动化。也即步骤“与该设备集群内除本设备以外的其他设备建立通信通道”可以包括:

接收设备集群内其他设备发起的主设备询问请求;

根据该主设备询问请求返回用于指示本设备为主设备的应答信息;

接收该其他设备根据该应答信息发送的通信建立请求;

根据该通信建立请求与该其他候选主设备建立通信通道。

本实施例中设备集群可以包括候选主设备这一种设备,或者可以包括候选主设备和从设备这两种设备。当设备集群仅包括候选主设备时,设备集群内其他设备指的是除本设备以外的候选主设备;当设备集群包括候选主设备和从设备时,设备集群内其他设备指的是除本设备外的候选主设备、从设备。

参考图1e,候选服务器1、候选服务器2、候选服务器3相互协商选举候选服务器3为主设备。参考图1f,候选服务器1、候选服务器2、从服务器1、从服务器2、从服务器3将会根据候选列表信息主动搜寻或者询问当前的主设备,具体地,这些设备主动根据候列表信息向设备集群内其余设备发送主设备询问请求,搜寻或者询问当前的主设备;以主设备是候选服务器3为例,然后,候选服务器1、候选服务器2、从服务器1、从服务器2、从服务器3将会主动与候选服务器3建立通信通道,以完成组网。

以上介绍在确定本设备为主设备的情况下,介绍本设备与其他设备建立通信的过程。下面介绍在确定本设备为从设备的情况下,为方便设备网络的扩容、缩容,本设备与其他设备建立通信的过程。具体地,本发明实施例方法,在确定该本设备为从设备之后还可以包括:

根据该候选列表信息向该其他候选主设备发送主设备询问请求;

接收该其他候选主设备根据主设备询问请求返回的应答信息;

根据该应答信息确定当前所协商的主设备,并与该主设备建立通信通道。

本发明实施例采用从设备主动搜寻当前选的主设备,并主动与主设备建立通信的方式,可以方便网络的扩容和缩容,可以支持热插拨式扩容缩容。比如,在有新的从设备加入时,该新的从设备只需搜寻当前的主设备,然后,主动与该主设备建立通信通道,无需停止或者重启服务,修改各设备的配置信息;同样在缩容时,只需该缩容设备断开与主设备的连接即可,无需停止或者重启服务,修改各设备的配置信息;本发明方案相对于现有组网方式(现有组网方式是由主设备连接各从设备组成网络,在扩容或缩容时需要停止或者重启服务器修改手动修改设备上的主从配置信息等),可以提高扩容的速度和效率。

可选地,在确定本设备不为主设备时,可以确定本设备为从设备;具体地,本实施例组网方法还可以包括:

当确定本设备不为主设备时,确定当前是否已经存在主设备;

若是,则确定该本设备为从设备。

也就是说,在候选主设备之间相互协商出主设备之后,设备集群内其他候选主设备主动成为从设备,并且主动与选举出的主设备建立通信通道组成网络。

可选地,在确定本设备为主设备,或者在确定本设备为从设备之后,可以对本设备的状态标识进行修改,以使得修改后的状态标识指示本设备为主设备或者从设备。比如,该状态标识可以为某个参数,即状态参数,该状态参数的参数值可以指示本设备为主设备、或者从设备等。比如,状态参数可以为state,当state=0时,表明设备处于初始状态,当state=1时,表明设备为主设备,此时该设备处于master状态,当state=2时,表明设备为从设备,此时,该设备处于slave状态。

例如,在初始阶段state=0,当确定本设备为主设备时,可以修改state的值,将state的值从0变到1,使得state=1;当确定本设备从设备时,将state的值从0变到2,使得state=2。

基于上述的描述,参考图2,对于某个候选主设备,在组网前不存在主设备和从设备的情况下,其协商主设备的过程可以如下:

200、获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址。

201、根据候选列表信息向设备集群内其他候选主设备发送主设备协商请求。

比如,候选服务器1分别向候选服务器2和候选服务器3发送主设备协商请求。

202、接收其他候选主设备根据该请求返回的协商结果,该协商结果包括:用于指示其他候选主设备是否同意本设备作为主设备的指示参数。

比如,候选服务器1接收候选服务器2返回的用于指示候选服务器2是否同意本设备作为主设备的指示参数,候选服务器1接收候选服务器3返回的用于指示候选服务器2是否同意本设备作为主设备的指示参数。

其中,用于指示其他候选主设备是否同意本设备作为主设备的指示参数可以同不同数值表达,比如,数值为0表示同意,数值为3表示不同意。

203、获取同意本设备作为主设备的指示参数的数量。

比如,当数值为3表示不同意本设备作为主设备的参数时,此时,获取的是3的个数。

204、判断该数量是否等于候选主设备的总数量,若是,则执行步骤205,若否,则执行步骤206。

在组网前不存在主从设备的情况下,本发明实施例可以判断同意本设备作为主设备的指示参数数量是否等于候选主设备的总数量,也即判断是否全票通过本设备称为主设备。

比如,判断数值3的个数是否等于候选服务器的总数量即2,假设数值3的个数为2时,表示候选服务器2和候选服务器3均同意候选服务器1作为主设备,此时确定候选服务器1为主设备。

205、对本设备的状态标识进行更改,以使得该状态标识指示本设备为主设备。

比如,将状态标识的值从0变到1,使得state=1。

206、判断当前是否已存在主设备,若是,则执行步骤207,若否,则返回步骤200。

本实施例中,在已经协商或者确定了主设备时,可以将所有候选主设备作为从设备。

207、对本设备的状态标识进行更改,以使得该状态标识指示本设备为从设备。

比如,将状态标识的值从0变到2,使得state=2。

以上是站在候选主设备主动询问其他候选主设备的角度来介绍本发明的协商过程,然而,在设备之间相互协商的过程中,某个设备不仅需要发送协商请求给其他候选主设备询问其是否为主设备,而且还需要接收其他候选主设备发送的协商请求,并对其进行应答或者响应,以便其他候选主设备确定自身是否作为主设备。下面将详细介绍候选主设备对其他候选主设备发送的协商请求的处理过程:

在上述步骤内容的基础上,本实施例组网方法还可包括:

接收其他候选主设备根据候选列表信息发送的第二主设备协商请求,该第二主设备协商请求携带其他候选主设备的网络地址;

根据该本设备的网络地址和其他候选主设备的网络地址,向该其他候选主设备返回相应的协商结果。

比如,候选服务器1接收候选服务器2发送的主设备协商请求,该请求携带候选服务器2的ip地址即ip2,候选服务器1可以根据自己的ip地址(即ip1)与候选服务器的ip地址向候选服务器2返回相应的协商结果。

当协商结果包括用于指示是否同意其他候选主设备作为主设备的指示信息,比如指示参数时,候选主设备可以根据自己的网络地址和其他候选主设备的网络向其他候选主设备返回同意或者不同意其他候选主设备作为主设备的指示参数。比如,在通过指示参数的参数值指示同意或者不同意其他候选主设备作为主设备时,可以向其他候选主设备返回不同参数值的指示参数。如可以返回参数值为0的指示参数给其他候选主设备,以表明同意其他候选主设备作为主设备;又如返回参数值为3的指示参数给其他候选主设备,以表明不同意其他候选主设备作为主设备。

本实施例中,根据本设备和其他候选主设备的网络地址返回协商结果的方式有多种,比如,可以将两个网络地址进行比较,根据比较结果来返回响应的协商结果。也即步骤“根据该本设备的网络地址和其他候选主设备的网络地址,向该其他候选主设备返回相应的协商结果”可以包括:

将本设备的网络地址与其他候选主设备的网络地址进行比较,得到比较结果;

根据该比较结果向该其他候选主设备返回相应的协商结果。

以网络地址为ip为例,可以比较本设备与其他候选主设备的ip大小,比如,以选取ip最大的候选主设备作为主设备为例当本设备的ip小于其他候选主设备的ip时,返回用于指示同意其他候选主设备作为主设备的指示从参数给其他候选主设备;当本设备的ip不小于其他候选主设备的ip时,返回用于指示不同意其他候选主设备作为主设备的指示从参数给其他候选主设备。

例如,在候选服务器1接收候选服务器2发送的主设备协商请求之后,该请求携带候选服务器2的ip地址即ip2,当候选服务器1自己的ip地址(即ip1)小于ip2时,返回参数值为0的指示参数给候选服务器2,以告知候选服务器2其同意候选服务器2作为主设备;当ip1不小于ip2时,返回参数为3指示参数给候选服务器2,以告知候选服务器2其不同意候选服务器2作为主设备。同理候选服务器1对于候选服务器3发送的协商请求也采用类似方式。

应当理解的是:在一些其他实施例中,还可以选取ip最小的候选主设备作为主设备,其选取的过程与上述选取ip最大的候选主设备作为主设备类似,此处不再赘述。

可选地,考虑到在某些情况下,有些候选主设备在组网之前已经是主设备或者从设备,那么此时,在接收到其他候选主设备发送的协商请求之后,还需要先进行主设备和从设备的判断,以便可以快速确定主设备进行组网。也即本发明实施例方法在接收到第二设备协商请求之后,返回协商结果之前,还可以包括:

判断该本设备当前是否为主设备;

若不为主设备,则判断本设备当前是否为从设备;

若不为从设备,则执行根据该本设备的网络地址和其他候选主设备的网络地址,向该其他候选主设备返回相应的协商结果的步骤。

可选地,当判断本设备当前为主设备或者从设备时,还可以向其他候选主设备相应的协商结果;此时,协商结果可以包括:用于指示本设备为主设备或者从设备的指示信息;比如,可以包括用于指示本设备为主设备或者从设备的指示参数。实际应用中可以通过不同参数值的指示参数来指示本设备为主设备或者从设备。比如,可以用参数值为1的指示参数来表示本设备为主设备,还可以用于参数值为2的指示参数来表示本设备为从设备,等等。

参考图3,对于某个候选主设备,在接收到主设备协商请求之后的处理流程可以如下:

301、接收到设备集群内其他候选主设备发送的主设备协商请求,该请求携带其他候选主设备的网络地址,如ip。

302、判断本设备当前是否为主设备,若否,则执行步骤303,若是,则执行步骤307。

303、判断本设备当前是否为从设备,若否,则执行步骤304,若是,则执行步骤308。

304、判断本设备的ip是否比其他候选主设备的ip小,若是,则执行步骤305,若否,则执行步骤306。

305、返回用于指示同意其他候选主设备作为主设备的第一指示参数给其他候选主设备。

306、返回用于指示不同意其他候选主设备作为主设备的第二指示参数给其他候选主设备。

307、返回用于指示本设备为主设备的第三指示参数给其他候选主设备。

308、返回用于指示本设备为从设备的第四指示参数给其他候选主设备。

其中,第一指示参数、第二指示参数、第三指示参数、第四指示参数可以为具有不同参数值的指示参数,如第一指示参数可以为0、第二指示参数可以为3、第三指示参数可以为1、第四指示参数可以为2。

比如,候选服务器1在接收候选服务器2发送的协商请求之后,可以判断自己是否为主设备,若是,则返回参数值为1的指示参数给候选服务器2,以告知候选服务器2该候选服务器1为主设备,若否,则候选服务器1进一步判断自己是否为从设备,若是,则返回参数值为2的指示参数给候选服务器2;若不是从设备,则候选服务器1需要比较自己与候选服务器2的ip,若自己的ip小于候选服务器2的ip,那么将会返回参数值为0的指示参数给候选服务器2,若不小于候选服务器2的ip,则返回参数值为3的指示参数给候选服务器2。

可选地,为提高设备网络的稳定性以及降低网络维护成本,本实施例在选取主设备之后,如果主设备宕机,将会重新通过协商机制自动选出另一台主设备,继续服务。比如,在正常的已建立通信阶段,如果master当机,则整个网络自动退回到协商阶段,余下的master候选主设备,也是使用相同的协商机制,以确定新的master。也即本实施例方法在确定本设备为从设备之后,还可以包括:当检测到当前主设备宕机时,可以返回执行步骤101-105,以重新组网。

本发明实施例提供的组网方法可以应用在缓存数据同步过程中,在组网之后,设备集群内从设备将会向各自的缓存数据发送给主设备,通过主设备转发给其余的从设备,以到达缓存数据同步的目的;该组网方法可以提高缓存数据同步的效率。比如,本发明实施例提供的组网方法可以应用在购物号系统中,参考图4,该购物号系统包括数据服务集群和web服务集群。该数据服务集群可以采用本发明实施例提供的组网方式来选取主设备组成网络,以便进行数据缓存同步。如图4所示,当web服务集群内web服务器接收到请求之后,从本地缓存中读取数据,当从本地缓存读取数据成功时,则web服务器执行前端数据处理逻辑,然后,返回相应的请求结果;当从本地数据缓存读取数据失败时,web服务器可以数据服务集群获取数据,此时,web服务器将会触发数据服务器集群内的服务器采用本发明实施例提供的组网方法来实现组网,从而使得数据服务器集群内服务器进行缓存数据同步,并将同步后的缓存数据发送给相应的web服务器,web服务器执行前端数据处理逻辑,然后,返回相应的请求结果。

由上可知,本发明实施例通过设备间自协商的方式自动选举出主设备,以实现设备间的组网,其无需在每台设备上进行大量复杂的手动配置,因此,可以提高设备间的组网速度以及效率。另外,本发明实施例通过从设备自动搜寻主设备,并建立通信,实现了扩容、缩容的自动化,使得该方案支持热插拨扩容、缩容(其中,即插即用是指slave的上线与下线均不影响现有组网设备的运行,也不需要有配置变更)。由于该方案无需在扩容或缩容时重启服务重新进行设备配置,提高了扩容、缩容速度和效率,降低了扩容、缩容对组网设备的影响。

此外,本发明实施例提供的组网方案还可以减少通信通道的数量,节省了通信资源。比如,现有组网方式在n个设备组网时,其需要n*(n-1)/2条通信通道;而本发明实施例提供的组网方案在n个设备组网,其仅需要n-1个通信通道即可以实现集群内任意两台机器间的通信,实现通信通道最小化,节省了通信资源。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以设备间的组网装置集成在各候选服务器中为例进行说明。

参考图1d所示,设备集群可以包括候选服务器1、候选服务器2、以及候选服务器3以及从服务器1、从服务器2、从服务器3。该候选服务器1、候选服务器2、以及候选服务器3均集成有本发明实施例提供的组网装置。

在需要组网时,各候选服务器之间相互发送主设备协商请求,均执行相同处理过程以选举出主服务器。以下将从候选服务器1的角度出发来介绍在协商过程各候选主设备执行的相同处理过程。

一方面,候选服务器1在协商过程中需要向其他候选服务器发送协商请求以确定自己是否能作为主设备;如图5a所示,候选服务器1在主设备协商过程的处理流程如下:

400、候选服务器1获取候选列表信息,该候选列表信息包括设备集群内候选服务器的网络地址。

401、候选服务器1根据候选列表信息分别向候选服务器2和候选服务器3发送主设备协商请求,该请求携带候选服务器1的ip。

402、候选服务器2和候选服务器3分别根据该主设备协商请求向候选服务器1返回相应的协商结果。

其中,协商结果可包括:用于指示是否同意候选服务器1作为主设备的指示参数、或用于指示自己是主设备或者从设备的指示参数。

比如,本实施例可以通过不同的参数值来指示是否同意候选服务器1作为主设备,用于指示是主设备或者从设备。如当参数值为0时表示请求接收方(候选服务器2或候选服务器3)同意候选服务器1作为主设备,当参数值为1是表示请求接收方(候选服务器2或候选服务器3)为主服务器,当参数值为2时,表示请求接收方(候选服务器2或候选服务器3)为从服务器,当参数值为3时,表示请求接收方(候选服务器2或候选服务器3)不同意候选服务器1作为主设备。

403、候选服务器1根据候选服务器2和候选服务器3返回的协商结果确定自己是否作为主服务器,若否,则执行步骤404,若是,则执行步骤406。

比如,当存在参数值为1的指示参数时,则候选服务器1确定自己不为主设备;当不存在参数值为1和参数值为2的指示参数时,候选服务器1统计参数值为0的指示参数数量,若等于候选服务器总数量3,那么可以确定自己为主服务器;又比如,当不存在参数值为1,存在参数值为2的指示参数时,可以计参数值为0的指示参数数量a,以及参数值为2的指示参数数量b;若a等于c-b时,则确定自己为主服务器,该c为候选服务器的总数量,这里为3。

404、候选服务器1确定当前是否已存在主服务器,若是,则执行步骤405,若否,则返回执行步骤400进行重新协商。

405、候选服务器1将自己标记为从服务器。

比如,候选服务器1对本设备的状态标识进行更改,以使得该状态标识指示本设备为从服务器。

406、候选服务器1将自己标记为主服务器。

比如,候选服务器1对本设备的状态标识进行更改,以使得该状态标识指示本设备为主服务器。

本实施例中,在候选服务器1作为主服务器时,设备集群内的其余服务器,如候选服务器2和候选服务器3、从服务器2、从服务器3将会根据候选列表信息向设备集群内其余服务器发送主设备询问请求,以搜寻当前的主服务器,然后,主动与主服务器(即候选服务器1)建立通信通道,以组成网络。

在候选服务器1不作为主服务器,且已经选举出主服务器(如候选服务器3)时,候选服务器1将会向设备集群内的其余服务器发送主设备询问请求,以搜寻当前的主服务器,然后,主动与主服务器(即候选服务器1)建立通信通道,以组成网络。

另一方面,候选服务器1在协商过程中需要对其他候选服务器发送的协商请求作出响应,以便其他候选服务器可以选举出主服务器。如图5b,候选服务器1在主设备协商过程的请求处理流程如下:

501、候选服务器1分别接收候选服务器2发送的主设备协商请求,该请求携带候选服务器2的ip。

502、候选服务器1判断本设备当前是否为主服务器,若否,则执行步骤503,若是,则执行步骤507。

503、候选服务器1判断本设备当前是否为从服务器,若否,则执行步骤504,若是,则执行步骤508。

504、候选服务器1判断本设备的ip是否比候选服务器2的ip小,若是,则执行步骤505,若否,则执行步骤506。

505、候选服务器1返回用于指示同意候选服务器2作为主服务器的第一指示参数给候选服务器2。

506、候选服务器1返回用于指示不同意候选服务器2作为主服务器的第一指示参数给候选服务器2。

507、候选服务器1返回用于指示本设备为主服务器的第三指示参数给候选服务器2。

508、候选服务器1返回用于指示本设备为从服务器的第四指示参数给候选服务器2。

其中,第一指示参数、第二指示参数、第三指示参数、第四指示参数可以为具有不同参数值的指示参数,如第一指示参数可以为0、第二指示参数可以为3、第三指示参数可以为1、第四指示参数可以为2。

同理,候选服务器1对候选服务器3发送的协商请求的处理过程,与对候选服务器2发送的协商请求的处理过程相同,此处不再赘述。

对于候选服务器1来说,以上请求处理过程,以及确定本设备是否为主设备的过程,这两个过程的时序可以为任意,如这两个过程可以并行执行。

虽然,本实施例是站在候选服务器1的角度来说明候选主设备在主设备协商中的处理过程,但是应当理解,站在其余候选服务器早主设备协商过程中与候选服务器1的执行过程是相同或者类似,可以参考上述候选服务器1的执行过程。

由上可知,本发明实施例通过设备间自协商的方式自动选举出主设备,以实现设备间的组网,其无需在每台设备上进行大量复杂的手动配置,因此,可以提高设备间的组网速度以及效率。另外,本发明实施例通过从设备自动搜寻主设备,并建立通信,实现了扩容、缩容的自动化,使得该方案支持热插拨扩容、缩容。由于该方案无需在扩容或缩容时重启服务重新进行设备配置,提高了扩容、缩容速度和效率,降低了扩容、缩容对组网设备的影响。

此外,本发明实施例提供的组网方案还可以减少通信通道的数量,节省了通信资源。比如,现有组网方式在n个设备组网时,其需要n*(n-1)/2条通信通道;而本发明实施例提供的组网方案在n个设备组网,其仅需要n-1个通信通道即可以实现集群内任意两台机器间的通信,实现通信通道最小化,节省了通信资源。

实施例三、

为了更好地实施以上方法,本发明实施例还提供设备间的组网装置,如图6a所示,该无线局域网的连接装置包括:获取单元601、发送单元602、结果接收单元603、第一确定单元604和通信建立单元605,如下:

(1)获取单元601;

获取单元601,用于获取候选列表信息,该候选列表信息包括设备集群内候选主设备的网络地址。

其中,候选列表信息可以预先配置,并保存在设备的存储单元中,比如,可以预先在候选主设备中配置候选列表信息。此时,获取单元601可以从本地存储单元中提取候选列表信息。

本实施例中候选主设备可用提供主机服务的候选设备,该候选主设备可以有多个,此时,该候选列表信息可以包括每个候选主设备的网络地址。实际应用中,该网络地址可以为候选主设备的ip(internetprotocoladdress,互联网协议地址)等。

(2)发送单元602;

发送单元602,用于根据候选列表信息向该设备集群内除本设备以外的其他候选主设备发送第一主设备协商请求。

(3)结果接收单元603;

结果接收单元603,用于接收该其他候选主设备根据该第一主设备协商请求返回的协商结果。

其中,协商可以结果可以包括:用于指示同意请求发送方设备作为主设备的指示信息、用于指示不同意请求发送方设备作为主设备的指示信息。

实际应用中,可以采用具体参数的值来表示同意或者不同意发送方作为设备,也即本实施例指示信息可以包括用于指示是否同意请求发送方设备作为主设备的指示参数。比如,当指示参数的参数值为0时表示:同意请求发送方设备作为主设备;当指示参数的参数值为3时表示:不同意请求发送方设备作为主设备。

(4)第一确定单元604;

第一确定单元604,用于根据其他候选主设备返回的协商结果确定本设备是否为主设备。

协商结果包括:指示是否同意请求发送方设备(即本设备)作为主设备的指示参数;该第一确定单元604可以具体用于:获取指示同意本设备作为主设备的指示参数的数量,当数量大于或等于预设阈值时,则确定本设备为主设备;当数量小于预设阈值时,则确定本设备不为主设备,比如可以确定本设备为从设备。

该预设阈值可以基于候选主设备的数量来设定,优选地,该预设阈值可以比候选主设备的总数量小一;也即在其他候选主设备均同意本设备作为主设备时,才确定本设备为主设备。比如候选主设备为n个(n>1,且为正整数),此时预设阈值可以为n-1。

又比如,在一些情况下,在组网前某个候选主设备已经确定为主设备,那么此时,协商结果还可以包括:用于指示请求接收方设备即其他候选主设备为主设备的指示信息,指示信息可以包括用于其他候选主设备为主设备的指示参数,实际应用中,可以不同的参数值来指示其他候选主设备是否为主设备。该第一确定单元604,可以具体用于:

当协商结果包括用于指示其他候选主设备为主设备的指示参数时,确定本设备不为主设备;

当协商结果不包括用于指示其他候选主设备为主设备的指示参数时,获取指示同意本设备作为主设备的指示参数的数量;

根据该数量确定本设备是否为主设备。

比如,可以将该数量与预设阈值进行比较,大于该预设阈值时,确定本设备为主设备,否则,确定本设备不为主设备。

可选地,在某些情况下,在组网前候选主设备已经确定为从设备,那么协商结果还可以包括:用于指示请求接收方设备即其他候选主设备为从设备的指示信息,如指示参数;实际应用中,可以通过不同参数值的指示参数来指示其他候选主设备是否为从设备;此时,该第一确定单元604,可以具体用于:

根据用于指示其他候选主设备为从设备的指示参数的数量和候选主设备的总数量设置预设阈值;

将获取指示同意本设备作为主设备的指示参数的数量与该预设阈值进行比较;

当大于或者等于预设阈值时,则确定本设备为主设备;否则,不为主设备。

(5)通信建立单元605;

通信建立单元605,用于在第一确定单元604确定本设备为主设备时,与该设备集群内除本设备以外的其他设备建立通信通道,以组成网络。

为方便设备网络的扩容、缩容;本实施例中与其他设备建立通信通道,可以由设备集群内其他设备主动搜寻主设备,并发起通信连接,以实现扩容、缩容自动化。其中,通信建立单元605,用于:

接收设备集群内其他设备发起的主设备询问请求;

根据该主设备询问请求返回用于指示本设备为主设备的应答信息;

接收该其他设备根据该应答信息发送的通信建立请求;

根据该通信建立请求与该其他候选主设备建立通信通道。

可选地,参考图6b,该组网装置还可以包括第二确定单元606,该第二确定单元606,用于当第一确定单元604确定本设备不为主设备时,确定当前是否已经存在主设备,若是,则确定该本设备为从设备。

可选地,参考图6c,该组网装置还可以包括:

请求接收单元607,用于接收其他候选主设备根据候选列表信息发送的第二主设备协商请求,该第二主设备协商请求携带其他候选主设备的网络地址;

结果返回单元608,用于根据该本设备的网络地址和其他候选主设备的网络地址,向该其他候选主设备返回相应的协商结果。

其中,该结果返回单元608,可以包括:

比较子单元,用于将本设备的网络地址与其他候选主设备的网络地址进行比较,得到比较结果;

结果返回子单元,用于根据该比较结果向该其他候选主设备返回相应的协商结果。

可选地,参考图6d,该组网装置还可以包括:判断单元609;

该判断单元609,用于在请求接收单元607接收到第二设备协商请求之后,结果返回单元返回协商结果之前,判断该本设备当前是否为主设备,若不为主设备,则判断本设备当前是否为从设备;

该结果返回单元608,用于当判断单元609判断本设备不为从设备时,根据该本设备的网络地址和其他候选主设备的网络地址,向该其他候选主设备返回相应的协商结果。

可选地,该通信建立单元605,还用于当确定单元604确定本设备为从设备之后,根据该候选列表信息向该其他候选主设备发送主设备询问请求;接收该其他候选主设备根据主设备询问请求返回的应答信息;根据该应答信息确定当前所协商的主设备,并与该主设备建立通信通道。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

该设备间的组网装置具体可以集成在服务器中,比如可以集成提供主机服务的候选服务器中。

由上可知,采用本发明实施例提供的组网装置,可以通过自协商的方式自动选举出主设备,以实现设备间的组网,其无需在每台设备上进行大量复杂的手动配置,因此,可以提高设备间的组网速度以及效率。另外,采用本发明实施例提供的组网装置还可以通过从设备自动搜寻主设备,并建立通信,实现了扩容、缩容的自动化,使得该方案支持热插拨扩容、缩容(其中,即插即用是指slave的上线与下线均不影响现有组网设备的运行,也不需要有配置变更)。由于该方案无需在扩容或缩容时重启服务重新进行设备配置,提高了扩容、缩容速度和效率,降低了扩容、缩容对组网设备的影响。

此外,本发明实施例提供的组网方案还可以减少通信通道的数量,节省了通信资源。比如,现有组网方式在n个设备组网时,其需要n*(n-1)/2条通信通道;而本发明实施例提供的组网方案在n个设备组网,其仅需要n-1个通信通道即可以实现集群内任意两台机器间的通信,实现通信通道最小化,节省了通信资源。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例所提供的一种设备间的组网方法、装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1