分布式存储系统的节点配置方法、装置、节点及系统的制作方法

文档序号:7551835阅读:127来源:国知局
专利名称:分布式存储系统的节点配置方法、装置、节点及系统的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种分布式存储系统的节点配置方法、装置、节点及系统。
背景技术
随着计算机技术的日趋进步,分布式存储系统在各个行业得到广泛的应用。分布式存储系统主要是由存储区域网络(Storage Area Network,简称:SAN)中的存储设备和多个节点组成。其中,各个节点可以为安装有相应的分布式存储软件的计算机,存储设备上存储的数据为各个节点共享的。在分布式存储系统中,当任意一个节点发生改变时,需要每个节点修改存储系统节点配置信息;而随着分布式存储系统规模的增大,节点越来越多,对于分布式存储系统的管理的难度也提高了。现有技术分布式存储系统中,将分布式系统中各个节点的配置信息存储在共享的存储设备上,每一个节点周期性地扫描存储设备上的配置信息,如果配置信息有变化,则更新该节点本地保存的配置信息。但是,现有技术的分布式存储系统,存在各个节点本地的配置信息更新时间不及时的问题。

发明内容
本发明实施例提供一种分布式存储系统的节点配置方法、装置、节点及系统,以实现及时更新各个节点本地的配置信息。第一方面,本发明实施例提供一种分布式存储系统的节点配置方法,包括:第一节点修改基准配置信息;所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。在第一方面的第一种可能的实现方式中,所述第一节点修改基准配置信息包括:所述第一节点修改存储在共享存储设备中或任意一节点中的基准配置信息。在第一方面的第二种可能的实现方式中,所述第一节点修改基准配置信息包括:所述第一节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中;或者,所述第一节点作为退出节点,将本地的节点配置信息从所述基准配置信息中删除。根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述第一节点修改基准配置信息之前,还包括:所述第一节点向其他节点发送修改配置的请求消息;所述第一节点在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。根据第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述第一节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中之前,还包括:所述第一节点读取所述基准配置信息;所述第一节点判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。根据第一方面、第一方面的第一种至第四种可能的实现方式的任意一种,在第五种可能的实现方式中,在所述第一节点修改基准配置信息之前,还包括:所述第一节点获取所述基准配置信息的互斥读写权限;在所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致之后,还包括:所述第一节点释放对所述基准配置信息的互斥读写权限。在第一方面的第六种可能的实现方式中,还包括:所述第一节点接收其他节点发送的同步消息;所述第一节点根据所述同步消息中的配置信息,更新本地的配置信息。根据第一方面、第一方面的第一种至第四种可能的实现方式的任意一种,在第七种可能的实现方式中,所述第一节点修改基准配置信息包括:所述第一节点修改所述基准配置信息中的节点配置信息;所述第一节点将基准配置信息中的版本号更新为最新版本。根据第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述第一节点将基准配置信息中的版本号更新为最新版本包括:所述第一节点将基准配置信息中的版本号加一。根据第一方面的第七种可能的实现方式,在第九种可能的实现方式中,还包括:所述第一节点接收第一核对消息,所述第一核对消息中包括配置信息中的版本号;所述第一节点比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号;当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者;当比较结果为本地记录的配置信息中的版本号小于所述第一核对消息中的版本号时,根据所述基准配置信息更新本地的配置信息。根据第一方面的第九种可能的实现方式,在第十种可能的实现方式中,还包括:所述第一节点向其他节点发送第一核对消息;当接收到其他节点返回的第一核对响应时,根据所述第一核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。根据第一方面的第七种可能的实现方式,在第十一种可能的实现方式中,还包括:所述第一节点接收第二核对消息,所述第二核对消息中包括配置信息;所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号;当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者;当比较结果为本地记录的配置信息中的版本号小于所述第二核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。根据第一方面的第i^一种可能的实现方式,在第十二种可能的实现方式中,还包括:所述第一节点向其他节点发送第二核对消息;当接收到其他节点返回的第二核对响应时,根据所述第二核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。第二方面,本发 明实施例提供一种分布式存储系统的节点配置装置,包括:修改模块,用于修改基准配置信息;同步模块,用于更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。
在第二方面的第一种可能的实现方式中,所述修改模块具体用于:修改存储在共享存储设备中或任意一节点中的基准配置信息。在第二方面的第二种可能的实现方式中,所述修改模块具体用于:所述修改模块所在的节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中;或者,所述修改模块所在的节点作为退出节点,将本地的节点配置信息从所述基准配置信息中删除。根据第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:请求模块,用于向其他节点发送修改配置的请求消息;应答节点个数判断模块,用于在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。根据第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述修改模块所在的节点作为待添加节点,还包括:读取模块,用于读取所述基准配置信息;空闲节点项判断模块,用于判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。根据第二方面、第二方面的第一种至第四种可能的实现方式的任意一种,在第五种可能的实现方式中,还包括:互斥读写权限获取模块,用于在所述修改模块修改基准配置信息之前,获取所述基准配置信息的互斥读写权限;互斥读写权限释放模块,用于在所述同步模块更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致之后,释放对所述基准配置信息的互斥读写权限。在第二方面的第六种可能的实现方式,还包括:同步消息接收模块,用于接收其他节点发送的同步消息;同步更新模块,用于根据所述同步消息中的配置信息,更新本地的配
置信息。根据第二方面、第二方面的第一种至第四种可能的实现方式的任意一种,在第七种可能的实现方式中,其特征在于,所述修改模块具体用于:修改所述基准配置信息中的节点配置信息;将基准配置信息中的版本号更新为最新版本。根据第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述修改模块具体用于:将基准配置信息中的版本号加一。根据第二方面的第七种可能的实现方式,在第九种可能的实现方式中,还包括:第一核对消息接收模块,用于接收第一核对消息,所述第一核对消息中包括配置信息中的版本号;第一版本号比较模块,用于比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号;第一核对响应模块,用于当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者;第一核对更新模块,用于当比较结果为本地记录的配置信息中的版本号小于所述第一核对消息中的版本号时,根据所述基准配置信息更新本地的配置信肩、O根据第二方面的第九种可能的实现方式,在第十种可能的实现方式中,还包括:第一核对消息发送模块,用于向其他节点发送第一核对消息;第一核对响应处理模块,用于当接收到其他节点返回的第一核对响应时,根据所述第一核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。
根据第二方面的第七种可能的实现方式,在第十一种可能的实现方式中,还包括:第二核对消息接收模块,用于接收第二核对消息,所述第二核对消息中包括配置信息;第二版本号比较模块,用于所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号;第二核对响应模块,用于当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者;第二核对更新模块,用于当比较结果为本地记录的配置信息中的版本号小于所述第二核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。 根据第二方面的第i^一种可能的实现方式,在第十二种可能的实现方式中,还包括:第二核对消息发送模块,用于向其他节点发送第二核对消息;第二核对响应处理模块,用于当接收到其他节点返回的第二核对响应时,根据所述第二核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。第三方面,本发明实施例提供一种分布式存储系统的节点,包括:至少一个处理器、至少一个网络接口、至少一个用户接口、存储器和至少一通信总线,且所述处理器包括本发明任意实施例所述的分布式存储系统的节点配置装置。第四方面,本发明实施例提供一种分布式存储系统,包括:至少一个节点和共享存储设备,其中,所述至少一个节点采用本发明任意实施例所述的分布式存储系统的节点。本发明实施例提供的分布式存储系统的节点配置方法、装置、节点及系统,通过在第一节点修改基准配置信息之后,向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致,实现在基准配置信息改变后,及时通知到所有节点,从而能够保证各个节点上的配置信息实时更新。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1A为本发明分布式存储系统的节点配置方法实施例一的流程图;图1B为本发明实施例提供的分布式存储系统的节点配置方法所适用的分布式存储系统的网络架构不意图;图2为本发明分布式存储系统的节点配置方法实施例二的流程图;图3为本发明分布式存储系统的节点配置方法实施例三的流程图;图4为本发明分布式存储系统的节点配置方法实施例四的流程图;图5为本发明分布式存储系统的节点配置方法实施例五的流程图;图6为本发明分布式存储系统的节点配置装置实施例一的结构示意图;图7为本发明分布式存储系统的节点配置装置实施例二的结构示意图;图8为本发明分布式存储系统的节点配置装置实施例三的流程图;图9为本发明分布式存储系统的节点配置装置实施例四的结构示意图10为本发明分布式存储系统的节点配置装置实施例五的结构示意图;图11为本发明分布式存储系统的节点实施例的结构示意图;图12为本发明分布式存储系统实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例所述的分布式存储系统可以由多个节点和共享存储设备构成,各个节点之间以及各个节点与共享存储设备之间通过以太网或局域网进行通信,其中,共享存储设备用于存储数据,并在其上部署有分布式文件管理组件,通过该分布式文件管理组件实现对数据的管理,共享存储设备可以为计算机、服务器或者可以为某个可供各个节点访问的存储设备,例如硬盘;每个节点可以为计算机或服务器,其上安装有分布式系统组件,各个节点可以通过该分布式系统组件访问共享存储设备上的分布式文件管理组件,并通过该分布式系统组件管理共享存储设备上的数据;并且,各节点上的分布式系统组件可以包括一种内核线程,该内核线程的作用是维护分布式系统中各节点配置信息的一致性。图1A为本发明分布式存储系统的节点配置方法实施例一的流程图,图1B为本发明实施例提供的分布式存储系统的节点配置方法所适用的分布式存储系统的网络架构示意图,该分布式存储系统包括多个节点、共享存储设备和网络联通设备,各节点可通过网络联通设备相互通信,并可以通过网络联通设备访问以及修改共享存储设备上的数据。本实施例的执行主体可以为任意一个节点上的分布式系统组件中的内核线程,为清楚起见,本实施例中将执行下述方法的节点称为第一节点,其它节点称为第二节点。如图1A所示,本实施例的方法可以包括:步骤101、第一节点修改基准配置信息。通常,基准配置信息可以存储在共享存储设备中,具体地,可以在将分布式文件系统部署共享存储设备的过程中,在共享存储设备上预留一块公共区域,该区域用于保存对分布式存储系统的节点配置信息的基准配置信息。或者,基准配置信息也可以存储在任意一个节点中,具体地,如果要将基准配置信息存储在某一节点中,可以在该节点的存储设备上预留一块公共区域,该区域用于保存对分布式存储系统的节点配置信息的基准配置信息。因此,步骤101在具体实现时,所述第一节点可以根据所述基准配置信息存放的位置,修改存储在共享存储设备中或任意一节点中的基准配置信息。分布式存储系统的节点配置信息例如可以包括:最大节点数,用于标记该分布式存储系统最大支持的节点数目;现有节点个数:标记当前分布式存储系统存在多少个节点;节点配置信息表,可以用每一个表项存放一个节点配置信息,其中,节点配置信息可以包含节点IP信息或者其他可以转化为节点IP的数据信息;该节点配置信息的版本号,用于标记当前配置的版本,以保证分布式存储系统中系统配置信息的一致性,该版本号可以是顺序递增的。
步骤102、所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。实际实现时,由于在步骤101中第一节点需要修改所述基准配置信息,如果所述第一节点为计算机,那么,通常在修改过程中所述第一节点就会将所述基准配置信息存储在所述第一节点的内存中;向其他节点发送的同步消息中,可以包括以下信息:消息类型、所述第一节点的节点标识以及版本号。发送同步消息的目的是,为了在每次修改配置信息之后,及时地通知其他节点:“第一节点对配置信息进行了修改”。而其他节点在接收到该同步消息时,可以根据所述基准配置信息更新其本地的配置信息。或者,也可以在所述同步消息中携带所述基准配置信息的全部内容,这样,其他节点在接收到该同步消息时,可以直接根据所述同步消息更新其本地保存的配置信息。考虑到节点数目较多的分布式存储系统可能存在发送一次同步消息后部分节点不能成功接收的情况,因此,所述第一节点可以多次发送同步消息,具体地,所述同步消息的发送方式可以为:在预置的一段时间内,按照一定频率发送。现有技术的方案,各个节点为了更新本地保存的配置信息,需要定期查看共享存储设备上的节点配置信息以判断是否需要更新本地保存的配置信息,这就容易导致存储链路出现拥堵。而本实施例中,由于各个节点之间可以互相通信以及时通知及接收配置信息有修改的消息,因此不需要各个节点定期访问共享存储设备,只在接收到同步消息时才需要访问共享存储设备,甚至可以不需要访问共享存储设备即可完成更新,从而能够避免频繁地出现各个节点同时访问共享存储设备上的节点配置信息的情况造成的存储链路拥堵。本实施例,通过在第一节点修改基准配置信息之后,更新本地的配置信息,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致,实现在基准配置信息改变后,及时通知到所有节点,从而能够保证各个节点上的配置信息实时更新。进一步地,上述实施例,所述第一节点修改基准配置信息可以包括:所述第一节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中;或,所述第一节点作为退出节点,将本地的节点配置信息从所述基准配置信息中删除。需要说明的是,当第一节点作为退出节点时,在退出后可以将本地保存的配置信息删除。图2为本发明分布式存储系统的节点配置方法实施例二的流程图,本实施例的方法在上述实施例的基础上,进一步增加了一些处理步骤以使分布式存储系统的配置方案更为完善,例如增加了修改基准配置信息之前的请求过程和使用互斥的读写权限进行保护的过程。本实施例的执行主体可以为第一节点上的分布式系统组件中的内核线程,其中第一节点可以为分布式存储系统中的任意一个节点。如图2所示,本实施例的方法可以包括:步骤201、第一节点获取所述基准配置信息的互斥读写权限。其中,第一节点获取所述基准配置信息的互斥读写权限后,能够保证只有该第一节点能够读取并修改所述基准配置信息,因此,能够保证所述基准配置信息的完整性。在具体实现时,第一节点获取该互斥读写权限时,可能存在该互斥读写权限已被其他节点获取的情况,这时,所述第一节点将不能成功地获取到该互斥读写权限,可以等待预设的一段时间后尝试下一次获取。进一步地,当所述第一节点作为待添加节点时,还可以包括:
步骤202、所述第一节点读取所述基准配置信息。步骤203、所述第一节点判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。而当所述第一节点作为退出节点时,则可以跳过步骤202和步骤203。具体地,在步骤203中,第一节点可以比较所述基准配置信息中的最大节点数和现有节点个数,以判断是否存在空闲节点项,如果存在,则可以执行后续的添加操作;如果不存在,则可以放弃添加操作。步骤204、所述第一节点向其他节点发送修改配置的请求消息。向其他节点发送的修改配置的请求消息中,可以包括以下信息:消息类型,例如可以为“请求”的消息类型和所述第一节点的节点标识,以使其他节点能够快速地识别该消息,并根据消息类型做出不同的响应。具体地,对于“请求”的消息类型,可以只要发送应答消息即可,不需进行其他的操作。步骤205、所述第一节点在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。其中,步骤204和步骤205为一组可选的步骤,其目的是在所述第一节点修改基准配置信息之前,先通过该两个步骤确认该分布式存储系统中各节点之间的通信是否正常。具体实现时,还可以预设一个等待时间,如果在等待时间内未收到预设数量的其他节点发送的应答消息,则可以放弃添加操作。具体实现时,可以采用两种策略执行步骤205,其中,策略一为:所述第一节点接收到的应答消息个数需要等于现有节点的个数,即接收到全部节点的应答才可以加入该分布式存储系统;策略二为:按照第一节点接收到的应答消息个数与现有节点的个数的比例,该比例可以预先设置,即,当应答的节点个数达到预先设置的要求后,就可以加入该分布式存储系统。步骤206、所述第一节点修改基准配置信息。进一步地,在具体实现时,步骤206中的修改基准配置信息可以包括:修改所述基准配置信息中的节点配置信息;将基准配置信息中的版本号更新为最新版本。进一步优选地,基准配置信息中的版本号更新为最新版本可以为:每次修改都将版本号递增,例如可以将基准配置信息中的版本号加一。步骤207、在所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。步骤208、所述第一节点释放对所述基准配置信息的互斥读写权限。所述第一节点完整地完成了一次配置信息的修改后,才释放对所述基准配置信息的互斥读写权限,这时,其他节点才能成功地获取到该互斥读写权限,从而再按本实施例的步骤修改配置信息,因此,能够保证每一次修改都完整地进行。本实施例,通过在修改基准配置信息之前的向其他节点发送请求消息,并在得到预设数量的应答消息时才触发修改配置信息,实现在修改之前对分布式存储系统是否正常工作的确认;通过使用互斥的读写权限保证在同一时刻只有一个节点在修改所述基准配置信息,保证修改的完整性;通过在第一节点作为待添加节点时,在判断出所述基准配置信息中存在空闲节点项后触发后续添加操作,保证添加节点的过程的正确性。
图3为本发明分布式存储系统的节点配置方法实施例三的流程图,本实施例的方法在上述实施例的基础上,进一步增加了第一节点接收到其他节点发送的同步消息的处理过程。如图3所示,本实施例的方法可以包括:步骤301、第一节点接收其他节点发送的同步消息。步骤302、所述第一节点根据所述同步消息中的配置信息,更新本地的配置信息。具体地,所述第一节点可以查看基准配置信息,并根据基准配置信息更新本地的配置信息;或者,如果所述同步消息中携带了完整的配置信息,则所述第一节点可以直接根据所述同步消息中的配置信息更新本地的配置信息。本实施例,通过在接收到其他节点发送的同步消息时,根据所述同步消息中的配置信息更新本地的配置信息,以保证在分布式配置系统的配置信息有变化时,能够及时更新本地的配置信息。图4为本发明分布式存储系统的节点配置方法实施例四的流程图,本实施例的方法在上述实施例的基础上,进一步增加了一种核对配置信息的处理过程,具体地,是针对上述实施例中可能出现的、同步消息无法成功地发送给所有其他节点的场景,以使本发明分布式存储系统的配置方案更为完善。本实施例的执行主体可以为第一节点上的分布式系统组件中的内核线程,其中第一节点可以为分布式存储系统中的任意一个节点。如图4所示,本实施例的方法可以包括:步骤401、第一节点接收第一核对消息,所述第一核对消息中包括配置信息中的版本号。其中,第一核对消息的发起者可以为任意一个节点,第一核对消息的发送可以由用户触发,也可以根据预设的周期,定时地发送。发起者在发送第一核对消息时,可以设置为向所有其他节点发送。所述第一核对消息中包括配置信息中的版本号,具体地,所述第一核对消息中可以仅仅包括配置信息中的版本号以及发起者的节点标识。步骤402、所述第一节点比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号。具体地,本实施例是基于每次修改均将基准配置信息中的版本号递增的方案,例如每次将版本号加一,提供的核对配置信息的方法,因此,版本号越高,说明该版本号对应的配置信息越新。步骤403、当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者。进一步地,当发起者接收到其他节点,如所述第一节点,返回的第一核对响应时,同样地,也可以先比较发起者本地记录的配置信息中的版本号与第一核对响应中的版本号,如果判断出需要更新时,可以根据所述第一核对响应中的配置信息更新本地的配置信息,或者,可以根据所述基准配置信息更新本地的配置信息。步骤404、当比较结果为本地记录的配置信息中的版本号小于所述核对消息中的版本号时,根据所述基准配置信息更新本地的配置信息。
其中,步骤403与步骤404为并列的两个步骤。本实施例,通过第一核对消息中的版本号,使接收第一核对消息的节点能够根据版本号判断是否需要更新本地保存的配置信息;并且,通过当任意一个接收第一核对消息的节点确定出本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,向所述发起者返回第一核对响应以使所述发起者更新其本地保存的配置信息;从而实现使所有节点更新各自保存的配置信息;并且,由于本实施例的第一核对消息中仅仅携带版本号而不携带所有的配置信息,因此,第一核对消息所需要的数据量非常小,从而便于节省传输资源。图5为本发明分布式存储系统的节点配置方法实施例五的流程图,本实施例的方法在上述实施例的基础上,进一步增加了另一种核对配置信息的处理过程,具体地,是针对上述实施例中可能出现的、同步消息无法成功地发送给所有其他节点的场景,以使本发明分布式存储系统的配置方案更为完善。本实施例的执行主体可以为第一节点上的分布式系统组件中的内核线程,其中第一节点可以为分布式存储系统中的任意一个节点。本实施例提供的方案为与实施例四的方案为并列的两个方案,实际使用时,可以根据分布式存储系统的实际需求选择一个。如图5所示,本实施例的方法可以包括:步骤501、第一节点接收第二核对消息,所述第二核对消息中包括配置信息。其中,第二核对消息的发起者可以为任意一个节点,第二核对消息的发送可以由用户触发,也可以根据预设的周期,定时地发送。发起者在发送第二核对消息时,可以设置为向所有其他节点发送。第二核对消息中包括所有节点的配置信息,具体实现时,发起者可以直接将发起者本地保存的配置信息或直接将基准配置信息中的所有信息,以及发起者的节点标识携带在第二核对消息中。步骤502、所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号。具体地,本实施例是基于每次修改均将基准配置信息中的版本号递增的方案,例如每次将版本号加一,提供的核对配置信息的方法,因此,版本号越高,说明该版本号对应的配置信息越新。步骤503、当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者。进一步地,当发起者接收到其他节点,如所述第一节点,返回的第二核对响应时,同样地,也可以先比较发起者本地记录的配置信息中的版本号与第二核对响应中的版本号,如果判断出需要更新时,可以根据所述第二核对响应中的配置信息更新本地的配置信息,或者,可以根据所述基准配置信息更新本地的配置信息。步骤504、当比较结果为本地记录的配置信息中的版本号小于所述核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。本实施例,通过发送第二核对消息中的版本号,使接收第二核对消息的节点能够根据版本号判断是否需要更新本地保存的配置信息;通过当任意一个接收第二核对消息的节点确定出本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,向所述发起者返回第二核对响应以使所述发起者更新其本地保存的配置信息;从而实现使所有节点更新各自保存的配置信息;并且,由于在第二核对消息中携带所欲的配置信息,当接收第二核对消息的节点判断出需要更新时可以直接根据所述第二核对消息中的配置信息更新本地的配置信息,从而能够提高更新效率。图6为本发明分布式存储系统的节点配置装置实施例一的结构示意图,本实施例的装置可以设置在分布式存储系统的所有节点上。如图6所示,本实施例的装置600可以包括:修改模块I和同步模块2,其中,修改模块I用于修改基准配置信息;同步模块2,用于更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理类似,此处不再赘述。本实施例的装置,通过在修改模块所在的节点修改基准配置信息之后,向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致,实现在基准配置信息改变后,及时通知到所有节点,从而能够保证各个节点上的配置信息实时更新。进一步地,上述实施例中,基准配置信息可以存储在共享存储设备中,也可以存储在任意一个节点中,因此,修改模块I具体可以用于:修改存储在共享存储设备中或任意一节点中的基准配置信息。进一步地,上述实施例中,修改模块I所在的节点作为待添加节点时,修改模块I具体用于:将本地的节点配置信息添加至所述基准配置信息中;或者,修改模块I所在的节点作为退出节点时,修改模块I具体用于:将本地的节点配置信息从所述基准配置信息中删除。图7为本发明分布式存储系统的节点配置装置实施例二的结构示意图,本实施例的装置700在上述实施例的基础上,进一步增加了一些模块以使分布式存储系统的配置方案更为完善。如图7所示,本实施例的装置还可以包括:请求模块3和应答节点个数判断模块4,其中,请求模块3用于向其他节点发送修改配置的请求消息;应答节点个数判断模块4用于在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。进一步地,为了满足本实施例的装置所在的节点作为待添加节点的场景,本实施例的装置还可以包括:读取模块5和空闲节点项判断模块6,其中,读取模块5用于读取所述基准配置信息;空闲节点项判断模块6用于判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。进一步地,为了保证每次对基准配置信息的修改能够完整地进行,本实施例的装置还可以包括:互斥读写权限获取模块7和互斥读写权限释放模块8,其中,互斥读写权限获取模块7用于在所述修改模块I修改基准配置信息之前,获取所述基准配置信息的互斥读写权限;互斥读写权限释放模块8用于在所述同步模块完成更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致之后,释放对所述基准配置信息的互斥读写权限。进一步地,所述修改模块I具体可以用于:修改所述基准配置信息中的节点配置信息;将基准配置信息中的版本号更新为最新版本。
进一步地,所述修改模块I将基准配置信息中的版本号更新为最新版本,具体可以为:将基准配置信息中的版本号加一。本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。图8为本发明分布式存储系统的节点配置装置实施例三的流程图,本实施例的装置800在上述实施例的基础上,进一步增加了用于根据同步消息更新本地保存的配置信息的功能模块,以使分布式存储系统的配置方案更为完善。如图8所示,本实施例的装置还可以包括:同步消息接收模块9和同步更新模块10,其中,同步消息接收模块9,用于接收其他节点发送的同步消息;同步更新模块10,用于根据所述同步消息中的配置信息,更新本地的配置信息。本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。图9为本发明分布式存储系统的节点配置装置实施例四的结构示意图,本实施例的装置900在上述实施例的基础上,进一步增加了一种核对方案对应的功能模块,以使分布式存储系统的配置方案更为完善。如图9所示,本实施例的装置还可以包括:第一核对消息接收模块11、第一版本号比较模块12、第一核对响应模块13以及第一核对更新模块14,其中,第一核对消息接收模块11用于接收第一核对消息,所述第一核对消息中包括配置信息中的版本号;第一版本号比较模块12用于比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号;第一核对响应模块13用于当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者;第一核对更新模块14用于当比较结果为本地记录的配置信息中的版本号小于所述第一核对消息中的版本号时,根据所述基准配置信息更新本地的配置信息。进一步地,为了满足本实施例的装置作为第一核对消息的发起者的场景,本实施例的装置还可以包括:第一核对消息发送模块15和第一核对响应处理模块16,其中,第一核对消息发送模块15,用于向其他节点发送第一核对消息;第一核对响应处理模块16,用于当接收到其他节点返回的第一核对响应时,根据所述第一核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。图10为本发明分布式存储系统的节点配置装置实施例五的结构示意图,本实施例的装置1000在上述实施例的基础上,进一步增加了另一种核对方案对应的功能模块,以使分布式存储系统的配置方案更为完善。如图10所示,本实施例的装置还可以包括:第二核对消息接收模块21、第二版本号比较模块22、第二核对响应模块23和第二核对更新模块24,其中,第二核对消息接收模块21可以用于接收第二核对消息,所述第二核对消息中包括配置信息;第二版本号比较模块22可以用于所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号;第二核对响应模块23可以用于当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者;第二核对更新模块24可以用于当比较结果为本地记录的配置信息中的版本号小于所述第二核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。进一步地,为了满足本实施例的装置作为第二核对消息的发起者的场景,本实施例的装置还可以包括:第二核对消息发送模块25和第二核对响应处理模块26,其中,第二核对消息发送模块25可以用于向其他节点发送第二核对消息;第二核对响应处理模块26可以用于当接收到其他节点返回的第二核对响应时,根据所述第二核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。本实施例的装置,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理和技术效果类似,此处不再赘述。图11为本发明分布式存储系统的节点实施例的结构示意图。如图11所示,本实施例的分布式存储系统的节点1100,可以包括:至少一个处理器1101,至少一个网络接口1102、用户接口 1103,存储器1104,和至少一通信总线1105。其中,网络接口 1102用于实现本实施例的节点与其他节点或其他设备通过网络进行的交互;用户接口 1103用于实现本实施例的节点与用户的交互;通信总线1105用于实现各装置之间的连接通信;存储器1104可能包含高速RAM存储器,也可能还包括非易失性存储器(英文为non-volatiIememory,以下简称NVM),例如至少一个磁盘存储器。存储器1104可选的可以包含至少一个存储装置,存储各种代码等,用于实现各种基础业务以及处理基于硬件的任务;处理器1101可以包括发明任意实施例所述的分布式存储系统的节点配置装置。本实施例的节点,可以用于执行本发明任意方法实施例的技术方案,具备相应的功能模块,其实现原理类似,此处不再赘述。本实施例的节点,通过在第一节点修改基准配置信息之后,向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致,实现在基准配置信息改变后,及时通知到所有节点,从而能够保证各个节点上的配置信息实时更新。图12为本发明分布式存储系统实施例的结构示意图。如图12所示,本实施例的分布式存储系统1200,可以包括:至少一个节点和共享存储设备。需要说明的是,只包含一个节点的分布式存储系统是本发明实施例提供的分布式存储系统的一个特例,而在大多数情况下,分布式存储系统可以包含至少两个节点,图中以第一节点1201、第二节点1202为例进行描述,和共享存储设备1203,其中,第一节点1201和第二节点1202可以采用本发明任意实施例所述的分布式存储系统的节点,其对应地,可以执行本发明任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。对于只包含一个节点的分布式存储系统,本发明上述方法实施例中所述的:“第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致”的步骤可以简化处理,由于不存在其他节点,因此只需要执行“第一节点更新本地的配置信息至与所述基准配置信息一致”,即可达到使分布式存储系统中所有节点上的配置信息实时更新的技术效果。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种分布式存储系统的节点配置方法,其特征在于,包括: 第一节点修改基准配置信息; 所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。
2.根据权利要求1所述的方法,其特征在于,所述第一节点修改基准配置信息包括: 所述第一节点修改存储在共享存储设备中或任意一节点中的基准配置信息。
3.根据权利要求1所述的方法,其特征在于,所述第一节点修改基准配置信息包括: 所述第一节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中;或 所述第一节点作为退出节点,将本地的节点配置信息从所述基准配置信息中删除。
4.根据权利要求3所述的方法,其特征在于,在所述第一节点修改基准配置信息之前,还包括: 所述第一节点向其他节点发送修改配置的请求消息; 所述第一节点在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。
5.根据权利要求3所述的方法,其特征在于,所述第一节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中之前,还包括: 所述第一节点读取所述基准配置信息; 所述第一节点判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。
6.根据权利要求1 5任一所述的方法,其特征在于, 在所述第一节点修改基准配置信息之前,还包括:所述第一节点获取所述基准配置信息的互斥读写权限; 在所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致之后,还包括:所述第一节点释放对所述基准配置信息的互斥读写权限。
7.根据权利要求1所述的方法,其特征在于,还包括: 所述第一节点接收其他节点发送的同步消息; 所述第一节点根据所述同步消息中的配置信息,更新本地的配置信息。
8.根据权利要求1-5任一所述的方法,其特征在于,所述第一节点修改基准配置信息包括: 所述第一节点修改所述基准配置信息中的节点配置信息; 所述第一节点将基准配置信息中的版本号更新为最新版本。
9.根据权利要求8所述的方法,其特征在于,所述第一节点将基准配置信息中的版本号更新为最新版本包括: 所述第一节点将基准配置信息中的版本号加一。
10.根据权利要求8所述的方法,其特征在于,还包括: 所述第一节点接收第一核对消息,所述第一核对消息中包括配置信息中的版本号; 所述第一节点比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号;当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者; 当比较结果为本地记录的配置信息中的版本号小于所述第一核对消息中的版本号时,根据所述基准配置信息更新本地的配置信息。
11.根据权利要求10所述的方法,其特征在于,还包括: 所述第一节点向其他节点发送第一核对消息; 当接收到其他节点返回的第一核对响应时,根据所述第一核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。
12.根据权利要求8所述的方法,其特征在于,还包括: 所述第一节点接收第二核对消息,所述第二核对消息中包括配置信息; 所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号; 当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者; 当比较结果为本地记录的配置信息中的版本号小于所述第二核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。
13.根据权利要求12所述的方法,其特征在于,还包括: 所述第一节点向其他节点发送第二核对消息; 当接收到其他节点返回的第二核对响应时,根据所述第二核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。
14.一种分布式存储系统的节点配置装置,其特征在于,包括: 修改模块,用于修改基准配置信息; 同步模块,用于更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。
15.根据权利要求14所述的装置,其特征在于,所述修改模块具体用于: 修改存储在共享存储设备中或任意一节点中的基准配置信息。
16.根据权利要求14所述的装置,其特征在于,所述修改模块具体用于: 所述修改模块所在的节点作为待添加节点,将本地的节点配置信息添加至所述基准配置信息中;或 所述修改模块所在的节点作为退出节点,将本地的节点配置信息从所述基准配置信息中删除。
17.根据权利要求16所述的装置,其特征在于,还包括: 请求模块,用于向其他节点发送修改配置的请求消息; 应答节点个数判断模块,用于在接收到预设数量的其他节点发送的应答消息之后,触发执行修改操作。
18.根据权利要求16所述的装置,其特征在于,所述修改模块所在的节点作为待添加节点,还包括:读取模块,用于读取所述基准配置信息; 空闲节点项判断模块,用于判断出所述基准配置信息中存在空闲节点项时,则触发后续添加操作。
19.根据权利要求14 18任一所述的装置,其特征在于,还包括: 互斥读写权限获取模块,用于在所述修改模块修改基准配置信息之前,获取所述基准配置信息的互斥读写权限; 互斥读写权限释放模块,用于在所述同步模块更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致之后,释放对所述基准配置信息的互斥读写权限。
20.根据权利要求14所述的装置,其特征在于,还包括: 同步消息接收模块,用于接收其他节点发送的同步消息; 同步更新模块,用于根据所述同步消息中的配置信息,更新本地的配置信息。
21.根据权利要求14 18任一所述的装置,其特征在于,所述修改模块具体用于: 修改所述基准配置信息中的节点配置信息; 将基准配置信息中的版本号更新为最新版本。
22.根据权利要求21所述的装置,其特征在于,所述修改模块具体用于: 将基准配置信息中的版本号加一。
23.根据权利要求21所述的装置,其特征在于,还包括: 第一核对消息接收模块,用于接收第一核对消息,所述第一核对消息中包括配置信息中的版本号; 第一版本号比较模块,用于比较本地记录的配置信息中的版本号与所述第一核对消息中的版本号; 第一核对响应模块,用于当比较结果为本地记录的配置信息中的版本号大于所述第一核对消息中的版本号时,将本地的配置信息携带在第一核对响应中返回给所述第一核对消息的发起者,或者将本地的配置信息的版本号携带在第一核对响应中返回给所述第一核对消息的发起者; 第一核对更新模块,用于当比较结果为本地记录的配置信息中的版本号小于所述第一核对消息中的版本号时,根据所述基准配置信息更新本地的配置信息。
24.根据权利要求23所述的装置,其特征在于,还包括: 第一核对消息发送模块,用于向其他节点发送第一核对消息; 第一核对响应处理模块,用于当接收到其他节点返回的第一核对响应时,根据所述第一核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。
25.根据权利要求21所述的装置,其特征在于,还包括: 第二核对消息接收模块,用于接收第二核对消息,所述第二核对消息中包括配置信息; 第二版本号比较模块,用于所述第一节点比较本地记录的配置信息中的版本号与所述第二核对消息中的版本号; 第二核对响应模块,用于当比较结果为本地记录的配置信息中的版本号大于所述第二核对消息中的版本号时,将本地的配置信息携带在第二核对响应中返回给所述第二核对消息的发起者,或者将本地的配置信息的版本号带在第二核对响应中返回给所述第二核对消息的发起者; 第二核对更新模块,用于当比较结果为本地记录的配置信息中的版本号小于所述第二核对消息中的版本号时,根据所述第二核对消息中的配置信息更新本地的配置信息。
26.根据权利要求25所述的装置,其特征在于,还包括: 第二核对消息发送模块,用于向其他节点发送第二核对消息; 第二核对响应处理模块,用于当接收到其他节点返回的第二核对响应时,根据所述第二核对响应中的配置信息更新本地的配置信息,或者,根据所述基准配置信息更新本地的配置信息。
27.—种分布式存储系统的节点,包括:至少一个处理器、至少一个网络接口、至少一个用户接口、存储器和至少一通信总线,且所述处理器包括权利要求14 26任一所述的分布式存储系统的节点配置装置。
28.—种分布式存储系统,包括:至少一个节点和共享存储设备,其特征在于,所述至少一个节点 采用如权利要求27所述的分布式存储系统的节点。
全文摘要
本发明实施例提供一种分布式存储系统的节点配置方法、装置、节点及系统,其中,方法包括第一节点修改基准配置信息;所述第一节点更新本地的配置信息至与所述基准配置信息一致,并向其他节点发送同步消息以更新其他节点的配置信息至与所述基准配置信息一致。本发明实施例提供的分布式存储系统的节点配置方法、装置、节点及系统,可以实现及时更新各个节点本地的配置信息。
文档编号H04L29/08GK103152390SQ20131004335
公开日2013年6月12日 申请日期2013年2月4日 优先权日2013年2月4日
发明者刘仪阳 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1