CN105630419B - 一种资源池的分区视图发送方法及管理节点 - Google Patents
一种资源池的分区视图发送方法及管理节点 Download PDFInfo
- Publication number
- CN105630419B CN105630419B CN201510991869.1A CN201510991869A CN105630419B CN 105630419 B CN105630419 B CN 105630419B CN 201510991869 A CN201510991869 A CN 201510991869A CN 105630419 B CN105630419 B CN 105630419B
- Authority
- CN
- China
- Prior art keywords
- resource pool
- subregion
- subregion view
- management node
- resource
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种资源池的分区视图发送方法及管理节点。该方法应用于分布式存储系统,分布式存储系统包括路由节点和管理节点。该方法包括:所述管理节点接收所述路由节点发送的资源池分区视图获取请求;所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图,并将所述第一部分资源池的分区视图发送给所述路由节点;当所述管理节点处于空闲状态时,所述管理节点将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点。实施本发明实施例可以减小向路由节点发送的资源池的分区视图所占据的通信带宽。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种资源池的分区视图发送方法及管理节点。
背景技术
分布式存储系统是一种将数据分散存储在多台存储设备(也称存储节点)上的存储系统。分布式存储系统主要包括管理节点、存储节点、路由节点以及客户端。管理节点可以创建多个资源池,每个资源池可以划分为一个或者多个分区。根据分布式存储系统的需求,可以决定资源池中的分区是与一个存储节点建立映射关系,还是与多个存储节点建立映射关系,比如:若分布式存储系统只需要一份数据,则资源池中的分区只与一个存储节点建立映射关系,若分布式存储系统要求除了需要一份原数据,还需要多个冗余数据做备份,则资源池中的分区需要与多个存储节点建立映射关系。通常,一个资源池对应一个分区视图,一个资源池的分区视图用于表示该资源池中的分区与存储节点的映射关系。
在分布式存储系统中,路由节点需要管理节点创建的所有资源池的分区视图,路由节点可以通过向管理节点索要,管理节点向路由节点发送所有资源池的分区视图。当用户进行数据存储或数据访问时,路由节点可以从所有资源池的分区视图中查询用户指定的资源池的分区视图,并通过用户指定的资源池的分区视图为数据提供存储路径的指导或访问路径的指导。
如果管理节点创建的资源池的数量很多,管理节点向路由节点发送的所有资源池的分区视图所占据的通信带宽将会较大。
发明内容
本发明实施例提供了一种资源池的分区视图发送方法及管理节点,可以减小向路由节点发送的资源池的分区视图所占据的通信带宽。
本发明实施例第一方面公开了一种资源池的分区视图发送方法,应用于分布式存储系统,所述分布式存储系统包括路由节点和管理节点,所述方法包括:
所述管理节点接收所述路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;其中,路由节点上电时,路由节点处于初始化状态,路由节点向管理节点索要所有资源池的分区视图;
所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图,并将所述第一部分资源池的分区视图发送给所述路由节点;其中,管理节点向路由节点发送所有资源池的分区视图所占据的通信带宽将会较大,故可以先将第一部分资源池的分区视图发送给路由节点;
当所述管理节点处于空闲状态时,所述管理节点将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
其中,当管理节点处于空闲状态时,管理节点可以自动将第二部分资源池的分区视图发送给路由节点。可见,管理节点分多次向路由节点发送资源池的分区视图,可以减小向路由节点发送资源池的分区视图所占据的通信带宽。
结合第一方面,在第一方面的第一种可能的实施方式中,所述方法还包括:
所述管理节点接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述管理节点根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
其中,用户在进行数据存储时,可以在客户端上指定待存储的数据所属的资源池,或者,用户在进行数据访问时,可以在客户端上指定待访问的数据所属的资源池;
其中,无论管理节点是否处于空闲状态,管理节点都需要把指定的资源池的分区视图发送给路由节点,这样,可以满足用户的需求,提高用户体验;
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述方法还包括:
所述管理节点判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
其中,当路由节点向管理节点索要所有资源池的分区视图时,若管理节点判断管理节点的资源池参数不满足一次性发送所有资源池的分区视图的触发条件,则管理节点需要分多次向路由节点发送资源池的分区视图。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述管理节点判断所述管理节点的资源池参数不满足所述一次性发送所述所有资源池的分区视图的触发条件,包括:
所述管理节点判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。其中,管理节点创建的所有资源池的数量大于预设数量阈值,则管理节点发送所有资源池的分区视图将会占用很大的通信带宽,而无法满足一次性发送所有资源池的分区视图的触发条件。
结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述管理节点判断所述管理节点的资源池参数不满足所述一次性发送所有资源池的分区视图的触发条件,包括:
所述管理节点判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。其中,该预设内存空间的大小可以为用户自定义设置的,也可以是根据分布式存储系统性能或通信带宽设置的。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第五种可能的实施方式中,所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图,包括:
所述管理节点根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
所述管理节点按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
其中,资源池的容量可以为资源池的总容量,或者,资源池容量可以为资源池的剩余空间的容量;
其中,管理节点对所有资源池中的每个资源池进行排序后,管理节点就可以确定哪些资源池的分区所存储的数据的大小比较大,或者,哪些资源池被访问的次数比较多,或者,哪些资源池的总容量或哪些资源池的剩余空间的容量比较大等,这样,管理节点就可以筛选出比较常用的或者可用的资源池。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第六种可能的实施方式中,所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图,包括:
所述管理节点根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
其中,资源池的容量可以为资源池的总容量,或者,资源池容量可以为资源池的剩余空间的容量。
其中,管理节点可以不需要对管理节点创建的所有资源池进行排序,而是直接设置一些限值,比如:针对资源池的分区所存储数据的大小设置预设阈值,针对资源池被访问次数设置预设访问次数,针对资源池的容量设置预设容量,进而将资源池的分区所存储数据的大小与预设阈值进行比较,或者,将资源池被访问次数与预设访问次数进行比较,或者,将资源池的容量与预设容量进行比较等,并确定大于限值的资源池作为第一部分资源池。这样,管理节点就可以筛选出比较常用的或者可用的资源池。
本发明实施例第二方面公开了一种用于执行资源池的分区视图发送方法的管理节点,该管理节点包括:处理器以及输入输出接口,所述处理器以及输入输出接口分别连接通信总线,其中:
所述输入输出接口,用于接收所述路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;
所述处理器,用于根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图;
所述输入输出接口,还用于将所述第一部分资源池的分区视图发送给所述路由节点,以及当所述管理节点处于空闲状态时,将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
结合第二方面,在第二方面的第一种可能的实现方式中,所述输入输出接口,还用于接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述输入输出接口,还用于根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理器,还用于判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述处理器具体用于判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述处理器具体用于判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述输入输出接口根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图的方式具体为:
根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述输入输出接口根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图的方式具体为:
所述管理节点根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
本发明实施例第三方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储了管理节点所执行的用于资源池的分区视图发送的程序代码。所述程序代码包括用于执行在第一方面中的方法的指令。
本发明实施例第四方面公开了一种管理节点。所述管理节点包括用于执行本发明实施例第一方面公开的资源池的分区视图发送方法的部分或全部步骤的功能单元。
在一些实施方式中,当路由节点接收到客户端发送的数据存储请求时,该数据存储请求包括指定的资源池的标识,路由节点可以先判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中,若否,路由节点再向管理节点发送针对指定的资源池的资源池分区视图获取请求;其中,路由节点在上电时就已经向资源池分区视图获取请求,并接收到管理节点发送的第一部分资源池的分区视图,这样,就可以避免管理节点重复向路由节点发送该指定的资源池的分区视图,从而可以减轻管理节点的负荷。
在一些实施方式中,当路由节点接收到客户端发送的数据访问请求时,该数据访问请求包括指定的资源池的标识,路由节点可以先判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中,若否,路由节点再向管理节点发送针对指定的资源池的资源池分区视图获取请求;其中,路由节点在上电时就已经向资源池分区视图获取请求,并接收到管理节点发送的第一部分资源池的分区视图。这样,就可以避免管理节点重复向路由节点发送该指定的资源池的分区视图,从而可以减轻管理节点的负荷。
在一些实施方式中,在路由节点获取到管理节点创建的所有资源池的分区视图后,无论路由节点接收到客户端发送的数据存储请求还是数据访问请求,路由节点不再需要向管理节点索要指定的资源池的分区视图了,而直接从本地获取指定的资源池的分区视图,这样,就可以减轻管理节点的负荷。
本发明实施例中,在分布式存储系统中,管理节点可以接收路由节点发送的资源池分区视图获取请求,进一步地,管理节点可以根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给路由节点,更进一步地,当管理节点处于空闲状态时,管理节点可以将所有资源池中的第二部分资源池的分区视图发送给路由节点。可见,通过本发明实施例,在管理节点接收到路由节点发送的资源池分区视图获取请求时,管理节点先后向路由节点发送第一部分资源池的分区视图和第二部分资源池的分区视图,这样就可以减小向路由节点发送的资源池的分区视图所占据的通信带宽。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本发明实施例公开的一种分布式存储系统的网络架构示意图;
图2是本发明实施例公开的一种资源池的分区视图发送方法的流程示意图;
图3是本发明实施例公开的另一种资源池的分区视图发送方法的流程示意图;
图4是本发明实施例公开的一种分区视图查询示意图。
图5是本发明实施例公开的另一种资源池的分区视图发送方法的流程示意图;
图6是本发明实施例公开的一种管理节点的结构示意图;
图7是本发明实施例公开的另一种管理节点的结构示意图;
图8是本发明实施例公开的另一种管理节点的结构示意图;
图9是本发明实施例公开的另一种管理节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种资源池的分区视图发送方法及管理节点,可以减轻管理节点的负荷,同时,提高分区视图的收敛效率。以下分别进行详细说明。
为了更好理解本发明实施例公开的一种资源池的分区视图发送方法及管理节点,下面先对本发明实施例适用的网络架构进行描述。请参见图1,图1是本发明实施例公开的一种分布式存储系统的网络架构示意图,其中,分布式存储系统是一种将数据分散存储在多台存储设备(也称存储节点)上的存储系统。如图1所示,该分布式存储系统可以包括至少一个客户端、至少一个路由节点,至少一个存储节点以及一个管理节点。其中,客户端可以与某个路由节点通过网络进行通信,路由节点可以与存储节点以及管理节点均通过高速网络进行通信,管理节点可以与所有的路由节点进行通信。另外,本领域技术人员可以理解,虽然图1中只示出了一个管理节点,但并不构成对本发明实施例的限定,可以包括比图示更多的管理节点,图1中示出的管理节点为处于工作状态的管理节点,图1中未示出的管理节点可以理解为处于备用状态的管理节点,另外,图1所示出的客户端、路由节点以及存储节点的数量只是用于表示有多个,但并不构成对本发明实施例的限定,可以包括比图示更多或更少的客户端、路由节点以及存储节点。
管理节点作为分布式存储系统的核心,可以为一个独立的设备,也可以为部署在某个设备中的应用模块。其中,管理节点可以创建多个资源池,每个资源池可以划分为一个或者多个分区,且每个分区可以与一个或多个存储节点建立映射关系。在分布式存储系统中通常用分区视图表示一个资源池上每个分区与存储分区的数据的存储节点的映射关系。
路由节点可以为一个独立的设备,也可以为部署在某个设备中的应用模块,其中,路由节点可以主动向管理节点索要资源池的分区视图,或者,路由节点可以被动接受管理节点发送的资源池的分区视图,路由节点主要用于为需要存储的数据或者需要访问的数据提供路径的指导。
存储节点可以为存储域网络(Storage Area Network,SAN)阵列中的存储设备,也可以为网络存储设备(Network Attached Storage),其中,每个存储节点可以承载一个或者多个分区,主要用于存储数据。
客户端可以包括但不限于智能手机、笔记本电脑、个人计算机(PersonalComputer,PC)、个人数字助理(Personal Digital Assistant,PDA)、移动互联网设备(Mobile Internet Device,MID)、智能穿戴设备(如智能手表、智能手环)等各类用户终端,客户端主要用于接收用户输入的数据存储请求或者数据访问请求,通常,该数据存储请求可以包括需要存储的数据以及指定的资源池的标识,该数据访问请求可以包括需要访问的数据的数据标识以及指定的资源池的标识。
可选的,路由节点和管理节点可以为位于同一个设备中的两个不同的应用模块,或者,路由节点和管理节点可以为两个独立部署的设备。为了描述方便,图1所示的网络架构中,路由节点和管理节点为两个独立部署的设备
在分布式存储系统中,数据的存储流程如下:当需要对某个数据进行存储时,客户端可以接收用户输入的数据存储请求,该请求会包括需要存储的数据和指定的资源池的标识,客户端将该数据和指定的资源池的标识发送给路由节点,路由节点接收到客户端发送的数据后,向管理节点索要指定的资源池的分区视图,根据分区视图确定指定的资源池中每个分区所映射的存储节点,并将该数据发送至指定的资源池中某一个分区所映射的存储节点中,存储节点再将数据进行存储。
在分布式存储系统中,数据的访问流程如下:当需要访问某个数据时,客户端可以接收用户输入的数据访问请求,该请求会包括需要访问的数据的数据标识和指定的资源池的标识,客户端将该数据标识和指定的资源池的标识发送给路由节点,路由节点接收到客户端发送的数据标识和指定的资源池的标识后,向管理节点索要指定的资源池的分区视图,根据分区视图确定指定的资源池中目标分区所映射的目标存储节点,并向目标存储节点发送数据获取请求,在接收到目标存储节点发送的与数据标识匹配的数据之后,将该数据发送给客户端。
在图1所示的分布式存储系统的网络架构中,可以包括至少一个客户端、至少一个路由节点,至少一个存储节点以及一个管理节点,管理节点可以通过分阶段发送资源池的分区视图来减小每次向路由节点发送的资源池的分区视图所占据的通信带宽。
基于图1所示的网络架构,本发明实施例公开了一种资源池的分区视图发送方法,请参阅图2,图2是本发明实施例公开的一种资源池的分区视图发送方法的流程示意图,其中,该方法应用于分布式存储系统,如图2所示,该方法可以包括以下步骤:
201、管理节点接收路由节点发送的资源池分区视图获取请求。
本发明实施例中,管理节点可以预先根据用户的要求创建多个资源池,并设置每个资源池的标识,该资源池的标识用于唯一标识资源池的身份,比如:管理节点需要创建100个资源池,则这100个资源池可以命名为资源池1、资源池2、资源池3.....资源池100。其中,每个资源池的容量可以相等,也可以不相等。
进一步地,管理节点可以为每个资源池划分一个或多个分区,并为资源池中的每个分区设置标识,其中,每个分区的容量可以相等,也可以不相等,该资源池中所有分区的容量之和为资源池的容量。举例来说,假设资源池1中划分有10个分区,则这10个分区可以命名为分区0、分区1、分区2....分区9。在分布式存储系统中,管理节点可以根据多种冗余技术确定每个分区是与一个存储节点建立映射关系,还是与多个存储节点建立映射关系,比如:廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks,RAID)技术、纠删码(Erasure Codes,EC)技术、多副本技术等。在进行数据存储时,该数据会被存储至该数据所属的资源池的一个分区所映射的存储节点上。其中,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。如果分布式存储系统只需要一份数据,则管理节点可以确定一个分区只与一个存储节点建立映射关系,如果分布式存储系统要求除了一份原数据,还需要多个冗余数据做备份,则一个分区就可以与多个存储节点建立映射关系。举例来说:针对资源池1,分布式存储系统只需要一份数据,则资源池1中的每个分区均只与一个存储节点建立映射关系,比如:资源池1中的分区0映射在存储节点A上,资源池1中的分区1映射在存储节点B上;又举例来说,针对资源池2,分布式存储系统要求除了一份原数据,还需要多个冗余数据做备份,则资源池2中的每个分区可以与多个存储节点建立映射关系,比如:资源池2中的分区0映射在存储节点A和存储节点B上,资源池2中的分区1映射在存储节点A和存储节点B上。管理节点根据冗余技术确定分区所映射的多个存储节点,可以在某个存储节点上存储的用户数据一旦发生损坏后,利用其他存储节点上备份的用户数据可以使损坏数据得以恢复,从而保障了用户数据的安全性。
管理节点在创建资源池以及为资源池中的每个分区建立分区与存储节点的映射关系之后,管理节点可以使用资源池的分区视图来表示资源池中的分区与存储节点的映射关系。通常,一个资源池对应一个分区视图。分区视图的格式可以为:分区ID->(存储节点1,存储节点3,存储节点n),表示这个分区ID所标识的分区与存储节点的映射关系,从该映射关系中可以看出每个分区映射在哪个或哪些存储节点上。其中,管理节点可以管理和维护每个资源池的分区视图。
本发明实施例中,路由节点在上电时,路由节点处于初始化状态,路由节点可以向管理节点发送资源池分区视图获取请求,该资源池分区视图获取请求用于请求获取管理节点创建的所有资源池的分区视图。
202、管理节点根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给路由节点。
本发明实施例中,如果管理节点创建的所有资源池的数量很多,每个资源池都对应一个分区视图,则发送所有资源池的分区视图会占据较大的通信带宽。故管理节点可以从创建的所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将该第一部分资源池的分区视图发送给路由节点。可选的,所有资源池的分区视图可以存储在管理节点中,也可以存储在其他设备中,本发明实施例不作限定。
作为一种可选的实施方式,管理节点根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图的具体实施方式可以包括以下步骤:
11)管理节点根据资源池分区视图获取请求,按照分区视图获取规则对所有资源池中的每个资源池进行排序;
12)管理节点按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为第一部分资源池的分区视图。
在该可选的实施方式中,分区视图获取规则为每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;其中,资源池的容量可以为资源池的总容量,或者,资源池的容量可以为资源池的剩余空间的容量。
在该可选的实施方式中,管理节点按照分区视图获取规则对所有资源池中的每个资源池进行排序之后,管理节点就可以确定哪些资源池的分区所存储的数据的大小比较大,或者,哪些资源池被访问的次数比较多,或者,哪些资源池的总容量或哪些资源池的剩余空间的容量比较大等,这样,管理节点就可以筛选出比较常用的或者可用的资源池。进一步地,管理节点可以按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为第一部分资源池的分区视图。可选,用户也可以预先不设置资源池的数量,在管理节点按照分区视图获取规则对所有资源池中的每个资源池进行排序之后,可以直接根据系统的性能以及通信带宽的限制,来确定排序靠前的第一部分资源池的数量,并获取该第一部分资源池的分区视图。
作为另一种可选的实施方式,管理节点根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图的具体实施方式可以包括:
管理节点根据资源池分区视图获取请求,从所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为第一部分资源池的分区视图;或,
管理节点从所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为第一部分资源池的分区视图;或,
管理节点从所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为第一部分资源池的分区视图。
在该可选的实施方式中,管理节点可以不需要对创建的所有资源池进行排序,而是预先设定预设阈值,然后直接从所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或者,管理节点预先设定资源池的预设访问次数,然后直接从所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为第一部分资源池的分区视图;或者,管理节点预先设定资源池的预设容量,然后直接从所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为第一部分资源池的分区视图。这样,管理节点就可以筛选出比较常用的或者可用的资源池。
203、当管理节点处于空闲状态时,管理节点将所有资源池中的第二部分资源池的分区视图发送给路由节点。
本发明实施例中,管理节点处于空闲状态是指管理节点运行的进程所占内存的百分比小于预设百分比,比如:40%,或者,管理节点收发的消息的大小小于预设的消息阈值。其中,第一部分资源池的分区视图和第二部分资源池的分区视图不同,第二部分资源池可以是所有资源池中除了第一部分资源池之外的剩余资源池,也可以是所有资源池中除了第一部分资源池之外的剩余资源池中的某一部分资源池。第二部分资源池的分区视图是管理节点处于空闲状态时,管理节点向路由节点发送的。
若第二部分资源池是所有资源池中除了第一部分资源池之外的剩余资源池,那么此时,路由节点获得管理节点创建的所有资源池的分区视图。在用户进行数据的存储或者访问时,无论用户指定的资源池是哪个,路由节点不需要再次向管理节点索要资源池的分区视图了,而直接从本地获取到的所有资源池的分区视图中查询用户指定的资源池的分区视图。
作为一种可选的实施方式,该资源池的分区视图发送方法还可以包括以下步骤:
21)管理节点接收路由节点发送的针对指定的资源池的资源池分区视图获取请求;
22)管理节点根据指定的资源池的资源池分区视图获取请求将所有资源池中的指定的资源池的分区视图发送给路由节点;
在该可选的实施方式中,当用户需要存储数据或者访问数据时,用户会在客户端上输入指定的资源池,客户端将该指定的资源池的标识发送给路由节点,路由节点接收到客户端发送的指定的资源池的标识后,路由节点可以先判断指定的资源池是否存在于已经获取到资源池的分区视图所属的资源池中,若否,则表明该指定的资源池的分区视图为所有资源池中除第一部分资源池和第二部分资源池外的资源池的分区视图,路由节点可以向管理节点索要指定的资源池的分区视图,管理节点接收到路由节点发送的针对指定的资源池的资源池分区视图获取请求之后,管理节点就可以根据指定的资源池的资源池分区视图获取请求将所有资源池中的指定的资源池的分区视图发送给路由节点。
在该可选的实施方式中,路由节点会向管理节点索要指定的资源池的分区视图。无论管理节点此时是否处于空闲状态,管理节点都需要将指定的资源池的分区视图发送给路由节点。
作为另一种可选的实施方式,在201之后,该资源池的分区视图发送方法还可以包括以下步骤:
管理节点判断管理节点的资源池参数不满足一次性发送所有资源池的分区视图的触发条件。
在该可选的实施方式中,该资源池参数可以包括管理节点创建的所有资源池的数量,或者,该资源池参数可以包括管理节点创建的所有资源池的分区视图所占管理节点的内存空间的大小。
具体的,当资源池参数包括管理节点创建的所有资源池的数量时,管理节点判断管理节点的资源池参数不满足一次性发送所有资源池的分区视图的触发条件,包括:
管理节点判断管理节点创建的所有资源池的数量大于预设数量阈值。
具体的,当资源池参数包括管理节点创建的所有资源池的分区视图所占管理节点的内存空间的大小时,管理节点判断管理节点的资源池参数不满足一次性发送所有资源池的分区视图的触发条件,包括:
管理节点判断管理节点创建的所有资源池的分区视图所占管理节点的内存空间的大小大于预设内存空间的大小。
在该可选的实施方式中,用户可以预先为管理节点的资源池参数设定用于一次性发送所有资源池的分区视图的触发条件,如果该管理节点的资源池参数满足一次性发送所有资源池的分区视图的触发条件,则管理节点可以向路由节点一次性发送所有资源池的分区视图,如果该管理节点的资源池参数不满足一次性发送所有资源池的分区视图的触发条件,则管理节点分多次来向路由节点发送资源池的分区视图了。
在图2所描述的方法流程中,管理节点可以接收路由节点发送的资源池分区视图获取请求,进一步地,管理节点可以根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给路由节点,更进一步地,当管理节点处于空闲状态时,管理节点可以将所有资源池中的第二部分资源池的分区视图发送给路由节点。可见,通过本发明实施例,在管理节点接收到路由节点发送的资源池分区视图获取请求时,管理节点先后向路由节点发送第一部分资源池的分区视图和第二部分资源池的分区视图,这样就可以减小每次向路由节点发送的资源池的分区视图所占据的通信带宽。
基于图1所示的网络架构,本发明实施例公开了一种资源池的分区视图发送方法,请参阅图3,图3是本发明实施例公开的另一种资源池的分区视图发送方法的流程示意图,其中,该方法应用于数据的存储流程中,如图3所示,该方法可以包括以下步骤:
301、客户端接收输入的数据存储请求。
本发明实施例中,分布式存储系统所提供的服务主要有三种:块服务、文件系统服务以及对象服务。其中,这三种服务均是基于I/O(Input/Output,输入/输出)数据来存储的,在数据的存储流程中,该I/O数据包括key和value,key为该I/O数据的标识,可以为数字,也可以为字符串,value为该I/O数据的存储对象。
本发明实施例中,用户可以选择使用分布式存储系统所提供的任一种服务,并在客户端上进行I/O数据的写操作,以触发生成数据存储请求,同时,用户还可以指定该I/O数据所属的资源池。这样,客户端就可以接收用户输入的数据存储请求,该数据存储请求包括需要存储的数据(包括key和value)和指定的资源池的标识,该指定的资源池的标识用于唯一标识资源池的身份。
302、客户端将该数据存储请求中包括的需要存储的数据和指定的资源池的标识发送给路由节点。
本发明实施例中,用户可以预先指定某个路由节点,这样,客户端就可以将该数据存储请求中包括的需要存储的数据和指定的资源池的标识发送给预先指定的路由节点;
或者,客户端可以从多个路由节点中选择距离该客户端最近的路由节点,并将该数据存储请求中包括的需要存储的数据和指定的资源池的标识发送给最近的路由节点。
303、路由节点判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中。
本发明实施例中,当路由节点接收客户端发送的该数据存储请求中包括的需要存储的数据和指定的资源池的标识时,路由节点可能已经获取到管理节点发送的部分资源池的分区视图,或者可能已经获取到管理节点发送的所有资源池的分区视图,故路由节点需要先判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中。
其中,已获取到的分区视图所对应的资源池可以为管理节点创建的部分资源池,也可以为管理节点创建的所有资源池,其中,该部分资源池可以为第一部分资源池,该第一部分资源池的分区视图为路由节点上电时从管理节点获取到的。
作为一种可选的实施方式,在301之前,该方法可以包括以下步骤:
11)路由节点向管理节点发送资源池分区视图获取请求,该资源池分区视图获取请求用于请求获取管理节点创建的所有资源池的分区视图;
12)管理节点根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给所述路由节点。
在该可选的实施方式中,路由节点在上电时,路由节点处于初始化状态,此时,路由节点需要所有资源池的分区视图,故路由节点会自动向管理节点发送资源池分区视图获取请求,管理节点接收到路由节点发送的资源池分区视图获取请求之后,管理节点就可以根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给所述路由节点。
304、若该指定的资源池不存在于已获取到的分区视图所对应的资源池中,路由节点使用该指定的资源池的标识,向管理节点发送针对该指定的资源池的资源池分区视图获取请求。
本发明实施例中,若路由节点判断该指定的资源池不存在于已获取到的分区视图所对应的资源池中,表明当前路由节点只获取到管理节点创建的部分资源池的分区视图,此时,路由节点还需要使用该指定的资源池的标识,向管理节点发送针对该指定的资源池的资源池分区视图获取请求,以获取该指定的资源池的分区视图。
305、管理节点根据该指定的资源池的资源池分区视图获取请求向路由节点发送该指定的资源池的分区视图。
本发明实施例中,管理节点接收到路由节点发送的针对该指定的资源池的资源池分区视图获取请求之后,管理节点根据该指定的资源池的资源池分区视图获取请求从本地数据库中获取该指定的资源池的分区视图,并向路由节点发送该指定的资源池的分区视图。
需要说明的是,当管理节点接收到路由节点发送的针对该指定的资源池的资源池分区视图获取请求时,无论管理节点此时是否处于空闲状态,管理节点都需要将该指定的资源池的分区视图发送给路由节点。
306、路由节点根据该指定的资源池的分区视图,确定该指定的资源池中的目标分区所映射的目标存储节点。
本发明实施例中,路由节点接收到管理节点发送的该指定的资源池的分区视图,并根据该指定的资源池的分区视图,确定该指定的资源池中的目标分区所映射的目标存储节点。其中,该目标分区的分区身份标识号(IDentity,ID)可以通过路由节点根据I/O数据中的key以及哈希算法(Hash)来确定。该目标分区所映射的目标存储节点可以为一个,也可以为多个。
具体的,路由节点根据I/O数据包括的key做哈希算法(Hash)后得到一个伪随机值,将该伪随机值和用户指定的资源池所包括的分区个数按位相与,得到分区ID,即目标分区的分区ID,进一步地,路由节点从用户指定的资源池的分区视图中查询该分区ID所映射的目标存储节点。
307、路由节点将该需要存储的数据发送至目标存储节点中。
本发明实施例中,若路由节点确定的目标分区所映射的存储节点为一个,则路由节点直接将该数据发送至该存储节点中,若路由节点确定的目标分区所映射的存储节点为多个,则路由节点需要将该数据分别发送至该多个存储节点中。
举例来说,假设路由节点确定的分区ID为分区0,从用户指定的资源池的分区视图中查询该分区0所映射的存储节点为存储节点A和存储节点B,则路由节点需要分别将该I/O数据发送至存储节点A和存储节点B上。又假设路由节点确定的分区ID为分区1,从用户指定的资源池的分区视图中查询该分区1所映射的存储节点为存储节点C,则路由节点需要分别将该I/O数据发送至存储节点C上。
308、目标存储节点将该需要存储的数据进行存储。
本发明实施例中,存储节点接收路由节点发送的数据,并将该数据进行存储,完成数据的存储流程。
请一并参阅图4,图4是本发明实施例公开的一种分区视图查询示意图。如图4所示,用户需要进行4次I/O数据的存储,即I/O数据1、I/O数据2、I/O数据3以及I/O数据4,其中,每个I/O数据均包括一个key和value。针对每次需要存储的I/O数据,路由节点根据I/O数据包括的key作Hash算法得到分区ID,即Hash(key)->分区ID,进一步地,从用户所指定的资源池的分区视图中查询该分区ID所映射的目标存储节点。从图4中可以看出,I/O数据1的分区ID为分区2,分区2所映射的存储节点为存储节点9和存储节点15,I/O数据2的分区ID为分区1,分区1所映射的存储节点为存储节点1和存储节点5,I/O数据3的分区ID为分区3,分区3所映射的存储节点为存储节点11和存储节点13,I/O数据4的分区ID为分区2,分区2所映射的存储节点为存储节点9和存储节点15。进一步地,在确定每个I/O数据需要被存储的目标存储节点之后,路由节点就可以将每个I/O数据发送至相应的目标存储节点上,目标存储节点就可以将接收到的I/O数据进行存储。
作为另一种可选的实施方式,在305之后,该方法还可以包括:
当管理节点处于空闲状态时,管理节点将所有资源池中的第二部分资源池的分区视图发送给路由节点。
在该可选的实施方式中,当管理节点处于空闲状态时,管理节点可以自动将所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,第一部分资源池的分区视图和第二部分资源池的分区视图不同,第二部分资源池的可以理解为所有资源池中除第一部分资源池以及指定的资源池之外的资源池。
此时,路由节点已经获取到管理节点创建的所有资源池的分区视图。这样,即使后续用户需要多次存储数据,而每次指定的资源池不同时,路由节点就不需要再次向管理节点索要指定的资源池的分区视图,而直接从本地获取指定的资源池的分区视图,管理节点也就不需要再次向路由节点发送该指定的资源池的分区视图,从而可以减轻管理节点的负荷。
在图3所描述的方法流程中,当用户需要存储数据时,路由节点可以在已获取到的分区视图所对应的资源池中不存在用户指定的资源池时,向管理节点索要该指定的资源池的分区视图,并根据该指定的资源池的分区视图确定需要存储的数据所属的资源池的目标分区所映射的目标存储节点,这样,路由节点就可以为需要存储的数据提供存储路径的指导。
基于图1所示的网络架构,本发明实施例公开了一种资源池的分区视图发送方法,请参阅图5,图5是本发明实施例公开的另一种资源池的分区视图发送方法的流程示意图,其中,该方法应用于数据的访问流程中,如图5所示,该方法可以包括以下步骤:
501、客户端接收输入的数据访问请求。
本发明实施例中,该数据访问请求可以包括需要访问的数据的数据标识,即I/O数据中的key,以及用户指定的资源池的标识。
502、客户端将该数据访问请求中包括的需要访问的数据的数据标识和指定的资源池的标识发送给路由节点。
503、路由节点判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中。
本发明实施例中,当路由节点接收客户端发送的该数据访问请求中包括的需要访问的数据的数据标识和指定的资源池的标识时,路由节点可能已经获取到管理节点发送的部分资源池的分区视图,或者可能已经获取到管理节点发送的所有资源池的分区视图,故路由节点需要先判断该指定的资源池是否存在于已获取到的分区视图所对应的资源池中。
其中,已获取到的分区视图所对应的资源池可以为管理节点创建的部分资源池,也可以为管理节点创建的所有资源池,其中,该部分资源池可以为第一部分资源池,该第一部分资源池的分区视图为路由节点上电时从管理节点获取到的。
作为一种可选的实施方式,在501之前,该方法可以包括以下步骤:
11)路由节点向管理节点发送资源池分区视图获取请求,该资源池分区视图获取请求用于请求获取管理节点创建的所有资源池的分区视图;
12)管理节点根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给所述路由节点。
在该可选的实施方式中,路由节点在上电时,路由节点处于初始化状态,此时,路由节点需要所有资源池的分区视图,故路由节点会自动向管理节点发送资源池分区视图获取请求,管理节点接收到路由节点发送的资源池分区视图获取请求之后,管理节点就可以根据资源池分区视图获取请求从所有资源池的分区视图中按照分区视图获取规则获取所有资源池中的第一部分资源池的分区视图,并将第一部分资源池的分区视图发送给所述路由节点。
504、若该指定的资源池不存在于已获取到的分区视图所对应的资源池中,路由节点使用该指定的资源池的标识,向管理节点发送针对该指定的资源池的资源池分区视图获取请求。
505、管理节点根据该指定的资源池的资源池分区视图获取请求向路由节点发送该指定的资源池的分区视图。
506、路由节点根据该指定的资源池的分区视图,确定该指定的资源池中的目标分区所映射的目标存储节点。
本发明实施例中,路由节点接收到管理节点发送的该指定的资源池的分区视图,并根据该指定的资源池的分区视图,确定该指定的资源池中的目标分区所映射的目标存储节点,其中,该目标存储节点可以为一个,也可以为多个。
具体的,路由节点可以将数据访问请求包括的key做Hash算法后得到一个伪随机值,将该伪随机值和用户指定的资源池所包括的分区个数按位相与,得到分区ID,即目标分区的分区ID,进一步地,路由节点从用户指定的资源池的分区视图中查询该分区ID所映射的目标存储节点。
507、路由节点向目标存储节点发送数据获取请求。
本发明实施例中,路由节点确定需要访问的数据被存储的目标存储节点之后,路由节点可以向目标存储节点发送数据获取请求,该数据获取请求包括需要访问的数据的数据标识,以请求获取与数据标识匹配的数据。
508、目标存储节点获取与需要访问的数据的数据标识匹配的数据。
本发明实施例中,目标存储节点接收到路由节点发送的数据获取请求之后,目标存储节点就可以从本地存储数据库中获取与需要访问的数据的数据标识匹配的数据。
509、目标存储节点向路由节点发送获取到的数据。
510、路由节点将该数据发送给客户端。
本发明实施例中,路由节点接收目标存储节点响应数据获取请求而发送的与数据标识匹配的数据之后,路由节点就可以将该数据发送给客户端,客户端接收路由节点发送的数据,完成数据的访问流程。
作为另一种可选的实施方式,在505之后,该方法还可以包括:
当管理节点处于空闲状态时,管理节点将所有资源池中的第二部分资源池的分区视图发送给路由节点。
在该可选的实施方式中,当管理节点处于空闲状态时,管理节点可以自动将所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,第一部分资源池的分区视图和第二部分资源池的分区视图不同,第二部分资源池的可以理解为所有资源池中除第一部分资源池以及指定的资源池之外的资源池。此时,路由节点已经获取到管理节点创建的所有资源池的分区视图。这样,即使后续用户需要多次访问数据,而每次指定的资源池不同时,路由节点就不需要再次向管理节点索要指定的资源池的分区视图了,而直接从本地获取该指定的资源池的,管理节点也就不需要再次向路由节点发送该指定的资源池的分区视图,从而可以减轻管理节点的负荷。
在图5所描述的方法流程中,当用户需要访问数据时,路由节点可以在已获取到的分区视图所对应的资源池中不存在用户指定的资源池时,向管理节点索要该指定的资源池的分区视图,并根据该指定的资源池的分区视图确定需要访问的数据所属的资源池的目标分区所映射的目标存储节点,这样,路由节点就可以为需要访问的数据提供访问路径的指导。
下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例中的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明上述方法实施例。
基于图1所示的网络架构,本发明实施例公开了一种管理节点,请参阅图6,图6是本发明实施例公开的一种管理节点的结构示意图,其中,图6所示的管理节点可以用于执行图2所公开的资源池的分区视图发送方法。如图6所示,该管理节点600可以包括:
接收单元601,用于接收路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;
获取单元602,用于根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图;
其中,获取单元602根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图的方式具体为:
根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
发送单元603,用于将所述第一部分资源池的分区视图发送给所述路由节点;
所述发送单元603,还用于当所述管理节点处于空闲状态时,将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
基于图1所示的网络架构,本发明实施例公开了另一种管理节点,请参阅图7,图7是本发明实施例公开的另一种管理节点的结构示意图,其中,图7所示的管理节点可以用于执行图2所公开的资源池的分区视图发送方法。图7所示的管理节点是在图6所示的管理节点的基础上进一步优化得到的,与图6所示的管理节点相比,图7所示的管理节点除了包括图6所示的管理节点的所有单元外,还可以包括:判断单元604,其中,
所述接收单元601,还用于接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述发送单元603,还用于根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
判断单元604,用于判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
可选的,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述判断单元604具体用于判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。
可选的,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述判断单元604具体用于判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。
基于图1所示的网络架构,本发明实施例公开了另一种管理节点,请参阅图8,图8是本发明实施例公开的另一种管理节点的结构示意图,其中,图8所示的管理节点可以用于执行图2所公开的资源池的分区视图发送方法。图8所示的管理节点是在图6所示的管理节点的基础上进一步优化得到的,与图6所示的管理节点相比,图8所示的管理节点除了包括图6所示的管理节点的所有单元外,获取单元602可以包括:
排序子单元6021,用于根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
确定子单元6022,用于按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
在图6~图8所描述的管理节点600中,接收单元601可以接收路由节点发送的资源池分区视图获取请求,该资源池分区视图获取请求用于获取管理节点创建的所有资源池的分区视图,进一步地,获取单元602可以根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图,发送单元603将所述第一部分资源池的分区视图发送给所述路由节点,当管理节点处于空闲状态时,发送单元603还可以将所有资源池中的第二部分资源池的分区视图发送给所述路由节点。可见,通过本发明实施例,在接收单元601接收到路由节点发送的资源池分区视图获取请求时,发送单元603先后向路由节点发送第一部分资源池的分区视图和第二部分资源池的分区视图,这样就可以减小每次向路由节点发送的资源池的分区视图所占据的通信带宽。
请参见图9,图9是本发明实施例公开的另一种管理节点的结构示意图,可以用于执行本发明实施例公开的一种资源池的分区视图发送方法。如图9所示,该管理节点900可以包括:至少一个处理器901、输入输出接口902以及至少一个通信总线903。其中,处理器901可以是中央处理器(Central Processing Unit,CPU)和存储器这类硬件的组合,或者,处理器901还可以是现场可编程门阵列(Field-Programmable Gate Array,FPGA)这类的硬件,通信总线903用于实现这些组件之间的通信连接。本领域技术人员可以理解,图9中示出的管理节点的结构并不构成对本发明实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面本发明实施例以处理器901为CPU和存储器这类硬件的组合的具体实现方式来描述,其中:
CPU为管理节点的控制中心,利用各种接口和线路连接整个管理节点的各个部分,通过运行或执行存储在存储器内的程序和/或模块,以及调用存储在存储器内的数据,以执行管理节点的各种功能和处理数据。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
存储器可以是高速RAM存储器,也可以是非易失性的存储器(non-volatilememory)。
具体地,所述输入输出接口902,用于接收所述路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;
所述处理器901,用于根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图;
所述输入输出接口902,还用于将所述第一部分资源池的分区视图发送给所述路由节点;当所述管理节点处于空闲状态时,将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
作为一种可选的实施方式,所述输入输出接口902,还用于接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述输入输出接口902,还用于根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
作为另一种可选的实施方式,所述处理器901,用于判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
可选的,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述处理器901具体用于判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。
可选的,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述处理器901具体用于判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。
作为另一种可选的实施方式,所述输入输出接口902根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图的方式具体为:
根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
作为另一种可选的实施方式,所述输入输出接口902根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图的方式具体为:
根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (15)
1.一种资源池的分区视图发送方法,应用于分布式存储系统,其特征在于,所述分布式存储系统包括路由节点和管理节点,所述方法包括:
所述管理节点接收所述路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;
所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图,并将所述第一部分资源池的分区视图发送给所述路由节点;
当所述管理节点处于空闲状态时,所述管理节点将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述管理节点接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述管理节点根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述管理节点判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
4.根据权利要求3所述的方法,其特征在于,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述管理节点判断所述管理节点的资源池参数不满足所述一次性发送所述所有资源池的分区视图的触发条件,包括:
所述管理节点判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。
5.根据权利要求3所述的方法,其特征在于,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述管理节点判断所述管理节点的资源池参数不满足所述一次性发送所有资源池的分区视图的触发条件,包括:
所述管理节点判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。
6.根据权利要求1或2所述的方法,其特征在于,所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图,包括:
所述管理节点根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
所述管理节点按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
7.根据权利要求1或2所述的方法,其特征在于,所述管理节点根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图,包括:
所述管理节点根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
所述管理节点从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
8.一种管理节点,其特征在于,包括:
接收单元,用于接收路由节点发送的资源池分区视图获取请求,所述资源池分区视图获取请求用于获取所述管理节点创建的所有资源池的分区视图;
获取单元,用于根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的第一部分资源池的分区视图;
发送单元,用于将所述第一部分资源池的分区视图发送给所述路由节点;
所述发送单元,还用于当所述管理节点处于空闲状态时,将所述所有资源池中的第二部分资源池的分区视图发送给所述路由节点,其中,所述第一部分资源池的分区视图和所述第二部分资源池的分区视图不同。
9.根据权利要求8所述的管理节点,其特征在于,
所述接收单元,还用于接收所述路由节点发送的针对指定的资源池的资源池分区视图获取请求;
所述发送单元,还用于根据所述指定的资源池的资源池分区视图获取请求将所述所有资源池中的所述指定的资源池的分区视图发送给所述路由节点;所述指定的资源池的分区视图为所述所有资源池中除所述第一部分资源池和所述第二部分资源池外的资源池的分区视图。
10.根据权利要求8或9所述的管理节点,其特征在于,所述管理节点还包括:
判断单元,用于判断所述管理节点的资源池参数不满足一次性发送所述所有资源池的分区视图的触发条件。
11.根据权利要求10所述的管理节点,其特征在于,当所述资源池参数包括所述管理节点创建的所述所有资源池的数量时,所述判断单元具体用于判断所述管理节点创建的所述所有资源池的数量大于预设数量阈值。
12.根据权利要求10所述的管理节点,其特征在于,当所述资源池参数包括所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小时,所述判断单元具体用于判断所述管理节点创建的所述所有资源池的分区视图所占所述管理节点的内存空间的大小大于预设内存空间的大小。
13.根据权利要求8或9所述的管理节点,其特征在于,所述获取单元包括:
排序子单元,用于根据所述资源池分区视图获取请求,按照分区视图获取规则对所述所有资源池中的每个资源池进行排序,其中,所述分区视图获取规则为所述每个资源池的分区所存储数据的大小、资源池被访问次数以及资源池的容量中的任一种;
确定子单元,用于按照从大到小的顺序,将排序靠前的预设数量的资源池的分区视图确定为所述第一部分资源池的分区视图。
14.根据权利要求8或9所述的管理节点,其特征在于,所述获取单元根据所述资源池分区视图获取请求从所述所有资源池的分区视图中按照分区视图获取规则获取所述所有资源池中的所述第一部分资源池的分区视图的方式具体为:
根据所述资源池分区视图获取请求,从所述所有资源池的分区视图中将资源池的分区所存储数据的大小大于预设阈值的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将被访问次数大于预设访问次数的资源池的分区视图确定为所述第一部分资源池的分区视图;或,
从所述所有资源池的分区视图中将容量大于预设容量的资源池的分区视图确定为所述第一部分资源池的分区视图。
15.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序用来指令相关硬件,来完成权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510991869.1A CN105630419B (zh) | 2015-12-25 | 2015-12-25 | 一种资源池的分区视图发送方法及管理节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510991869.1A CN105630419B (zh) | 2015-12-25 | 2015-12-25 | 一种资源池的分区视图发送方法及管理节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630419A CN105630419A (zh) | 2016-06-01 |
CN105630419B true CN105630419B (zh) | 2018-09-21 |
Family
ID=56045417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510991869.1A Active CN105630419B (zh) | 2015-12-25 | 2015-12-25 | 一种资源池的分区视图发送方法及管理节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630419B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689977B (zh) * | 2016-08-05 | 2021-12-07 | 厦门雅迅网络股份有限公司 | 分布式缓存和推送的路由方法及其系统 |
CN107967117B (zh) * | 2016-10-20 | 2020-10-20 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、读取、清理方法、装置及云存储系统 |
CN107577425A (zh) * | 2017-08-23 | 2018-01-12 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法及装置 |
CN109783002B (zh) * | 2017-11-14 | 2021-02-26 | 华为技术有限公司 | 数据读写方法、管理设备、客户端和存储系统 |
CN114385414B (zh) * | 2021-12-06 | 2023-03-21 | 深圳市亚略特科技股份有限公司 | 基于数据分区的数据备份方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051691A (zh) * | 2012-12-12 | 2013-04-17 | 华为技术有限公司 | 分区分配方法、装置以及分布式存储系统 |
CN103229151A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种分区扩展方法及装置 |
CN103299296A (zh) * | 2011-12-22 | 2013-09-11 | 华为技术有限公司 | 一种分布式存储系统中分区管理方法、设备及系统 |
CN103797770A (zh) * | 2012-12-31 | 2014-05-14 | 华为技术有限公司 | 一种共享存储资源的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9880773B2 (en) * | 2013-03-27 | 2018-01-30 | Vmware, Inc. | Non-homogeneous disk abstraction for data oriented applications |
-
2015
- 2015-12-25 CN CN201510991869.1A patent/CN105630419B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299296A (zh) * | 2011-12-22 | 2013-09-11 | 华为技术有限公司 | 一种分布式存储系统中分区管理方法、设备及系统 |
CN103051691A (zh) * | 2012-12-12 | 2013-04-17 | 华为技术有限公司 | 分区分配方法、装置以及分布式存储系统 |
CN103229151A (zh) * | 2012-12-27 | 2013-07-31 | 华为技术有限公司 | 一种分区扩展方法及装置 |
CN103797770A (zh) * | 2012-12-31 | 2014-05-14 | 华为技术有限公司 | 一种共享存储资源的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105630419A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630419B (zh) | 一种资源池的分区视图发送方法及管理节点 | |
JP4304535B2 (ja) | 情報処理装置及びこのプログラムと、モジュラー型システムの運用管理システムと、コンポーネント選択方法 | |
CN103621049A (zh) | 用于在多点网络中自动分配地址给设备的系统和方法 | |
CN107786593A (zh) | 任务部署方法、实例部署方法、装置及设备 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN106534281A (zh) | 一种数据请求的响应方法、装置及系统 | |
CN107193813A (zh) | 数据表连接方式处理方法及装置 | |
Xia et al. | Performance and availability modeling of ITSystems with data backup and restore | |
CN114091610A (zh) | 智能决策方法及装置 | |
CN112583716A (zh) | 基于物联网数据传输的路径选择方法及装置 | |
CN106331160A (zh) | 一种数据迁移方法及系统 | |
Biswas et al. | A novel leader election algorithm based on resources for ring networks | |
CN105703941B (zh) | 配置事务的处理方法及装置 | |
CN108874837A (zh) | 数据库分库方法、装置、中间件及存储介质和电子设备 | |
CN108363727A (zh) | 一种基于zfs文件系统的数据存储方法及装置 | |
EP2797260A2 (en) | Risk mitigation in data center networks | |
CN112491592A (zh) | 一种存储资源分组方法、系统、终端及存储介质 | |
CN109952809A (zh) | 四元全网状以维度驱动的网络架构 | |
CN107633080A (zh) | 一种用户任务处理方法及装置 | |
CN108334520A (zh) | 社交网络数据处理方法、装置、存储介质及电子设备 | |
CN113342500B (zh) | 任务执行方法、装置、设备及存储介质 | |
CN105721527A (zh) | 一种数据处理方法以及服务器 | |
CN108960378A (zh) | 一种数据下载方法、系统、装置和存储介质 | |
CN109726820B (zh) | 能源节点重要度的计算方法及装置、存储介质、电子装置 | |
CN108319679B (zh) | 一种主键的生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |