一种云存储系统中选举主控节点的方法及系统的制作方法

文档序号:9551407阅读:226来源:国知局
一种云存储系统中选举主控节点的方法及系统的制作方法
【技术领域】
[0001]本申请涉及互联网云计算及云存技术领域,尤其涉及一种云存储系统中选举主控节点的方法及系统。
【背景技术】
[0002]随着计算机网络,特别是Internet的迅猛发展,越来越多的资料被数据化,全球信息存储量每年急剧增长。传统的信息系统概念发生了巨大的变化,这些变化突出地表现在信息的存储、传递、发布以及获取方式所发生的革命性变革。与此同时,大量数据密集型应用,如视频监控,广电行业,数字图书馆,医疗视频图像处理,海量视频在线编辑等,对存储系统的容量,性能,安全性,可扩展性和可用性提出了更高要求。传统的直接存储模式渐渐不能满足需求,信息存储的需求和应用的复杂性提出了新的存储模式。
[0003]云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。与传统的存储设备相比,云存储系统不仅仅是一个硬件,而是一个网络设备、存储设备、服务器、应用软件、公用访问接口、接入网、和客户端程序等多个部分组成的复杂系统。各部分以存储设备为核心,通过应用软件来对外提供数据存储和业务访问服务。
[0004]云存储系统是一种典型的分布式系统,其中存在多个控制节点。因此,需要在多个控制节点间选举一个主控节点,其他控制节点作为备份节点。在系统启动后或者原主控节点失效后能快速选举出新的主控节点。现有技术中对此没有一个成熟的解决方案。

【发明内容】

[0005]本申请提供了一种云存储系统中选举主控节点的方法及系统,能够在云存储系统中无主控节点时,快速选举出新的主控节点。
[0006]本申请提供了一种云存储系统中选举主控节点的方法,包括:
[0007]A、在云存储系统的基础平台维护各个控制节点的数据更新状态标识;
[0008]B、当云存储系统中无主控节点时,各个控制节点从基础平台上获取其它控制节点的数据更新状态标识,根据所获取的数据更新状态标识判断本控制节点的数据是否为最新,若是,将本控制节点变更为主控节点,并通知其它控制节点本控制节点当选为主控节点。
[0009]可选地,步骤A包括:
[0010]主控节点接收到客户端和数据节点的请求进行相应处理,根据备机列表将数据同步到各个备机节点,基础平台相应更新每个主控节点或备机节点的数据更新状态标识。
[0011]可选地,步骤A包括:控制节点在启动的时候在基础平台上注册本控制节点的节点描述信息,所述节点描述信息中包括数据更新状态标识。
[0012]可选地,所述节点描述信息进一步包括:节点标识和主控/备机节点标识。
[0013]可选地,该方法进一步包括:
[0014]主控节点在基础平台注册回调接口获取控制节点的上线事件,并将新上线的控制节点添加到备机列表中。
[0015]可选地,步骤B包括:
[0016]B1、控制节点通过基础平台注册回调接口获取其它控制节点的节点描述信息;
[0017]B2、控制节点根据所获取的节点描述信息判断是否存在主控节点,若存在,结束本流程,否则,执行步骤B3;
[0018]B3、控制节点根据节点描述信息判断本控制节点的数据更新状态标识是否为最新,若是,执行步骤B4,否则结束本流程;
[0019]B4、控制节点向基础平台发送请求,将本控制节点的备机节点标识修改为主控节点标识,并向云存储系统中的其它控制节点发送通知,本控制节点当选为主控节点。
[0020]可选地,步骤B1之前,进一步包括:
[0021]控制节点通过基础平台注册回调接口检测到主控节点失效事件,则触发执行所述
B1
[0022]可选地,步骤B4之后进一步包括:所述主控节点将其他控制节点加入备机列表。
[0023]本申请实施例还提供了一种云存储系统,所述云存储系统包括基础平台以及多个控制节点,
[0024]所述基础平台用于维护各个控制节点的数据更新状态标识;
[0025]所述控制节点包括:
[0026]感知1?块,用于感知存储系统中是否存在主控节点;
[0027]获取模块,用于在感知模块感知到无主控节点时,从基础平台上获取其它控制节点的数据更新状态标识;
[0028]判断模块,用于根据所获取的数据更新状态标识判断本控制节点的数据是否为最新;
[0029]选举模块,用于在所述判断模块判断结果为是时,将本控制节点变更为主控节点,并通知其它控制节点本控制节点当选为主控节点。
[0030]可选地,所述控制节点进一步包括:
[0031]数据同步模块,用于在本控制节点为主控节点时,当本控制节点接收到客户端和数据节点的请求进行相应处理后,根据备机列表将数据同步到各个备机节点,并向基础平台发送数据同步通知消息;在本控制节点为备机节点时,接收来自主控节点的数据并更新本控制节点的数据,并向基础平台发送数据同步通知消息;
[0032]所述基础平台进一步用于根据来自各个控制节点的数据同步通知消息,更新相应控制节点的数据更新状态标识。
[0033]从以上技术方案可以看出,在云存储系统的基础平台维护各个控制节点的数据更新状态标识;当云存储系统中无主控节点时,各个控制节点从基础平台上获取其它控制节点的数据更新状态标识,根据所获取的数据更新状态标识判断本控制节点的数据是否为最新,若是,通知其它控制节点本控制节点当选为主控节点。本申请方案能够在云存储系统启动时无主控节点或者原主控节点失效时,迅速选出主控节点,保证云存储系统正常运行。
【附图说明】
[0034]图1为本申请实施例提供的云存储系统中有主控节点的情况下,新的控制节点启动时流程示意图;
[0035]图2为本申请实施例提供的无主控节点的情况下,云存储系统启动时其中任一个控制节点的处理流程示意图;
[0036]图3为本申请实施例提供的云存储系统中主控节点失效后,选举新的主控节点的处理流程示意图。
【具体实施方式】
[0037]本申请提供一种云存储系统中选举主控节点的方法,能够快速、有效地从多个控制节点中选举出主控节点。其基本技术构思包括:在云存储系统的基础平台维护各个控制节点的数据更新状态标识;当云存储系统中无主控节点时,各个控制节点从基础平台上获取其它控制节点的数据更新状态标识,根据所获取的数据更新状态标识判断本控制节点的数据是否为最新,若是,通知其它控制节点本控制节点当选为主控节点。节点当选主控节点后接收来自客户端和数据节点的请求,并将数据同步到备机。
[0038]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0039]图1示出了本申请实施例提供的云存储系统中有主控节点的情况下,新的控制节点启动时的处理流程,包括如下步骤:
[0040]步骤101:控制节点在启动时,在基础平台上注册本控制节点的节点描述信息。
[0041]所述节点描述信息至少需要包括节点标识、主控/备机节点标识、数据更新状态标识Ο
[0042]其中,节点标识用于区分各个控制节点,每个控制节点的节点标识在云存储系统中都是唯一的。主控/备机节点标识用于表明该控制节点是主控节点还是备机节点,控制节点在启动时默认为备机节点。数据更新状态标识用于表明本控制节点的数据新旧程度,数据更新状态标识的具体形式可以是本主控节点最后一次数据更新的时间。
[0043]此外,节点描述信息还包括IP地址、节点状态信息(内存、CPU)等必要的信息。
[0044]步骤102:主控节点在基础平台注册回调接口获取控制节点的上线事件,并将该控制节点添加到备机列表中。
[0045]同时,新启动的控制节点也会通过基础平台注册回调接口获取其它控制节点的节点描述信息。并根据所述节点描述信息判断是否存在主控节点。
[0046]步骤103:主控节点接收到客户端和数据节点的请求进行相应处理,根据备机列表将数据同步到各个备机节点,基础平台相应更新每个主控节点或备机节点的数据更新状态标识。
[0047]图2示出了本申请实施例提供的无主控节点的情况下,云存储系统启动时其中任一个控制节点的处理流程,包括如下步骤:
[0048]步骤201:控制节点在启动的时候在基础平台上注册本控制节点的节点描述信息。
[0049]步骤202:控制节点通过基础平台注册回调接口获取其它控制节点的节点描述信息。
[0050]步骤203:控制节点根据所获取的节点描述信息判断是否存在主控节点,若存在,结束本流程,否则,执行步骤204。
[0051]步骤204:控制节点根据节点描述信息判断本控制节点的数据更新状态标识是否为最新,若是,执行步骤205,否则结束本流程。
[0052]步骤205:控制节点向基础平台发送请求,将本控制节点的备机节点标识修改为主控节点标
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1