一种分布式存储系统及其实现资源硬亲和性的方法

文档序号:10626939阅读:489来源:国知局
一种分布式存储系统及其实现资源硬亲和性的方法
【专利摘要】本发明公开了一种分布式存储系统及其实现资源硬亲和性的方法,涉及分布式存储领域的存储资源划分策略技术。本发明公开的方法,包括:为存储服务选择存储资源时,先对应的存储资源特性,再从决策树的根部逐层选择子节点,直到选择至叶子节点以确定所述存储服务的存储资源;其中,决策树的根节点对应为一组存储资源特性的决策因子构成的决策域,多个子节点分为一层或几层,每层所包含的各个子节点对应为根节点对应的决策域中的一种决策因子的不同范围,各叶子节点对应为不同的存储资源池。本发明还公开了一种分布式存储系统。本申请技术方案解决了现有的存储资源无法提供针对性的服务的问题。
【专利说明】
一种分布式存储系统及其实现资源硬亲和性的方法
技术领域
[0001]本发明涉及分布式存储领域的存储资源划分策略,具体地说是一种基于决策树实现存储资源和存储服务的硬亲和的方案。
【背景技术】
[0002]随着云计算和大数据技术的发展,传统的单一存储介质的数据存储方式已经不能满足大数据处理的需求,在这样的背景下,分布式数据存储得到了广泛的应用。与传统的存储设备相比,分布式存储是将性价比高、分布广泛的物理存储资源通过网络连接进行整合,提供尚可扩展性、尚性能、无接入限制的存储资源池。
[0003]分布式存储系统有以下特点:
[0004]数据分布,分布式存储区别于传统单机系统在于能够将存储资源池中数据按照不同策略分布到不同的存储节点上,并在多个节点之间实现负载均衡;
[0005]数据一致性,由于异常的存在,分布式存储系统设计时往往会将数据冗余存储多份,每一份称为一个副本,这种方式能够在存储节点新增或发生故障时对数据重分配。副本策略是分布式存储策略的一部分,同时也是分布式存储系统唯一的容错手段;
[0006]负载均衡,能够分析存储资源相关的磁盘容量,内存使用情况和带宽等,基于平衡性考虑对数据重分配。
[0007]分布式存储系统的以上特点体现在数据存储策略上,不同的存储策略可以满足不同的数据存储需求。首先数据存储是从用户角度提出的原始需求,用户不关心数据存储到什么设备上,只需要根据数据读写的性能、数据的可靠性和成本选择合适的存储服务。而存储服务提供基于存储设备特性并受限于用户需求的存储策略。分布式存储系统在满足用户存储需求的同时,提供一个高效、高可靠和低成本的存储服务平台。相对于云计算的平台即服务,分布式存储系统可以称为数据存储即服务。

【发明内容】

[0008]本发明所要解决的技术问题是,提供一种分布式存储系统及其实现资源硬亲和性的方法,以解决现有分布式存储系统无法为不同的使用需求提供针对性的存储服务的问题。
[0009]为了解决上述技术问题,本发明公开了一种分布式存储系统实现资源硬亲和性的方法,包括:
[0010]当针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对应的存储资源特性,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择子节点,直到选择至叶子节点以确定所述存储服务的存储资源;
[0011 ] 其中,所述决策树包括有一个根节点,多个子节点以及多个叶子节点,所述根节点对应为一组存储资源特性的决策因子构成的决策域,所述多个子节点分为一层或几层,每层所包含的各个子节点对应为所述根节点对应的决策域中的一种决策因子的不同范围,各叶子节点对应为不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子节点的子决策树中所对应的所有决策因子的不同范围的需求。
[0012]可选地,上述方法中,直到选择至叶子节点以确定所述存储服务的存储资源指:
[0013]在所选择的叶子节点包括的存储资源池中,按照分布式存储的数据分布、数据一致性和负载均衡要求选择所述存储服务的存储资源。
[0014]可选地,上述方法还包括:
[0015]根据存储资源特性和不同存储服务的需求的对应关系将存储资源进行划分,根据存储资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树,所述决策树中根节点对应一组存储资源特性的决策因子构成的决策域,每层所包含的子节点对应的决策因子和一种存储服务的需求相对应。
[0016]可选地,上述方法构建所述决策树之前,该方法还包括:
[0017]对分布式存储系统提供的存储服务进行评估,确定所述决策树中每层子节点的权重大小,所述每层子节点的权重大小与该层子节点对应的决策因子所对应的存储服务的需求限制程度成正比。
[0018]可选地,上述方法中,构建所述决策树时,将权重最小的一层子节点置于决策树根节点下的第一层,将权重第二小的一层子节点置于决策树根节点下的第二层,依次类推,将权重最高的一层节点置于决策树的顶层。
[0019]本发明公开了一种分布式存储系统,包括:
[0020]第一单元,在针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对应的存储资源特性;
[0021]第二单元,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择节点至叶子节点以确定所述存储服务的存储资源;
[0022]其中,所述决策树包括有一个根节点,多个子节点以及多个叶子节点,所述根节点对应为一组存储资源特性的决策因子构成的决策域,所述多个子节点分为一层或几层,每层所包含的各个子节点对应为所述根节点对应的决策域中的一种决策因子的不同范围,各叶子节点对应为不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子节点的子决策树中所对应的所有决策因子的不同范围的需求。
[0023]可选地,上述系统中,所述第二单元,直到选择至叶子节点以确定所述存储服务的存储资源指:
[0024]在所选择的叶子节点包括的存储资源池中,按照分布式存储的数据分布、数据一致性和负载均衡要求选择所述存储服务的存储资源。
[0025]可选地,上述系统还包括:
[0026]决策树生成单元,根据存储资源特性和不同服务需求的对应关系将存储资源进行划分,根据存储资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树,所述决策树中根节点对应一组存储资源特性的决策因子构成的决策域,每层所包含的子节点对应的决策因子和一种存储服务的需求相对应。
[0027]可选地,上述系统中,所述决策树生成单元在构建所述决策树之前,对分布式存储系统提供的存储服务进行评估,确定所述决策树中每层子节点的权重大小,所述每层子节点的权重大小与该节点对应的决策因子对应的存储服务的需求限制程度成正比。。
[0028]可选地,上述系统中,所述决策树生成单元构建所述决策树时,将权重最小的一层子节点置于决策树的根节点下的第一层,将权重第二小的一层子节点置于决策树根节点下的第二层,依次类推,将权重最高的一层子节点置于决策树的顶层。
[0029]本申请技术方案基于决策树将存储资源按特性划分,对存储资源特性的深度挖掘,根据资源特性在分布式存储系统之上划分出一个逻辑层。解决了现有的存储资源无法提供针对性的服务的问题。本申请技术方案使存储服务和存储资源硬亲和,基于分布式存储系统提供了个性化、有竞争性的存储服务。
【附图说明】
[0030]图1为本发明中按存储资源特性划分的决策树示意图;
[0031]图2为本发明中决策域的划分示意图;
[0032]图3为本发明中根据负载状况选择存储资源池示意图;
[0033]图4为本发明中决策域重定向示意图。
【具体实施方式】
[0034]为使本发明的目的、技术方案和优点更加清楚明白,下文将结合附图对本发明技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
[0035]实施例1
[0036]现有分布式存储系统优势之一是可以将不同的存储资源同时加入到存储资源池中。比较典型的是存储资源池中有闪存、高速磁盘、低速磁盘甚至是磁带,各存储资源可以分配在百兆网亦或是千兆网上。但是不同存储资源的优势在资源池中被平等的使用,在一定程度上也导致了存储资源的浪费。虽然已有的分布式存储系统通过数据一致性和负载均衡在一定程度上平衡了不同存储设备的不一致,但是众多种类设备的一体化使用策略很难针对特定的存储服务给出明确的使用规则。
[0037]因此,针对上述问题,本申请发明提出,以存储服务为入口,将分布式存储资源按存储设备特性进行划分和重组的策略,为不同的使用需求提供多种有针对性的存储服务。即将存储资源按存储服务需求进行划分。首先搜集存储服务关心的存储资源特性,然后根据存储资源特性和不同服务需求的对应关系将存储资源进行划分,最终构建一颗资源特性和存储服务对应的决策树。
[0038]其中,在进行存储资源选择时,可以指定多种决策因子即选择条件,在决策树中逐层向下选择存储资源。通过这种方法,一种服务只使用特定决策域下的存储资源池,达到存储资源与存储服务的硬亲和。
[0039]基于上述思想,本实施例提供一种分布式存储系统实现资源硬亲和性的方法,主要包括如下操作:
[0040]当针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对应的存储资源特性,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择子节点,直到选择至叶子节点以确定存储服务的存储资源;
[0041]其中,决策树包括有一个根节点,多个子节点以及多个叶子节点,根节点对应为一组存储资源特性的决策因子构成的决策域,多个子节点可以分为一层或几层,每层包括有多个子节点时,每个节点对应为根节点对应的决策域中的一种决策因子的不同范围,各叶子节点对应不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子节点的子决策树中所对应的所有决策因子的不同范围的需求。
[0042]上述方法中,在所选择的叶子节点包括的存储资源池中,可以按照分布式存储的数据分布、数据一致性和负载均衡要求选择存储服务的存储资源。
[0043]另外,执行上述操作之前,该方法还可以根据存储资源特性和不同存储服务的需求的对应关系将存储资源进行划分,根据存储资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树。
[0044]具体地,构建决策树时,本实施例依赖了图1所示的数学模型,该模型包括三类节点:决策节点,机会节点,终结点。其中,决策树中根节点是下一层子节点的决策节点,根节点将记录存储服务和机会节点的对应关系。子节点又称为机会节点,当决策节点经过一次决策选定某一子节点后,该子节点被认定为该次决策的机会节点,当此机会节点继续向下选择时他又成为选择下一层机会节点的决策节点,依次类推。终结点是一个决策选择的最终节点也就是决策树的叶子节点,终结节点将和具体的存储资源池相对应,同时终结点将记录存储池中所有存储节点特性和负载状况。
[0045]而决策树中,根节点对应的是一组存储资源特性的决策因子构成的决策域,而每层所包含的子节点对应的决策因子和一种存储服务的需求相对应。由于决策树的构建和存储资源的特性是强相关的,存储资源的每一种特性设定为一种决策因子。因此在构建决策树之前,需要对提供的存储服务进行评估,来决定每一种决策因子对应的子节点占用的权重大小,权重越大的决策因子(即决策因子对应的一层子节点)将越靠近决策树的顶层。而每层子节点的权重大小与该层子节点对应的决策域对应的存储服务的需求限制程度成正比。即存储服务的需求限制程度越高(例如存储服务的需求限制严苛),则对应的决策因子的子节点的权重越高。决策树中同一层的子节点则是权重相同的子节点,是对同一种决策因子在范围上的划分。具体地,在一种服务请求被下发到决策树时,可以是权重最大的决策因子首先被满足,之后根据决策因子的权重大小继续在被选定的子树中进行筛选。或者,将权重最小的一层子节点置于决策树根节点下的第一层,将权重第二小的一层子节点置于决策树根节点下的第二层,依次类推,将权重最高的一层节点置于决策树的顶层。
[0046]例如,决策树根部第一层是对存储资源读写速率进行约束,那么可以将存储速率分段,每一段在该层决策树中对应不同子节点。那么读写速率为决策因子,每个子节点下的子树是一个决策域。同时,如果网络带宽和读写速率权重相同,那么在该层决策树中网络带宽按服务需求进行划分,这样就能分出若干个满足服务需求的决策域。
[0047]而上述方法构建决策树时,还依赖决策域的划分,此决策域的划分与存储服务的需求相对应。即对存储资源的按需划分主要是基于决策树在逻辑层面上对存储资源特性的按需划分,决策树按域划分包括根决策域,子决策域和资源池。每一级决策节点记录其直接子节点的下更具体的决策特性,以根决策节点为例。服务需求按网络传输速率划分,分别划分为10Mb,100Mb和1Gb,那么这三种情况将被投射到三个子决策域,对于这三种决策域选择方式将被记录到他们的父决策域即根决策域。
[0048]资源池下的所有存储节点代表能够提供一种具体服务的存储资源,每个存储池只在其内部进行存储数据分布式存储,存储池之间在逻辑上是相互独立的,同时每个存储池在决策选择时将自身的负荷情况上报给父决策域节点。
[0049]根决策域在逻辑上对应的是所有存储资源,在一种存储服务对应到一种子决策域下的存储池时,由该决策域节点记录存储服务和存储节点的对应关系。在数据写入成功后该子决策域将自身在决策树中的位置和服务对应关系上报给根决策域节点。在存储数据使用该服务时,由根决策域确定服务对应的子决策域,再由子决策域查找到具体的存储池,将存储数据最终落实到存储节点上,如图2所示。
[0050]另外,基于决策树的存储服务和决策域是相对应的,在存储服务明确的情况下,SP根据决策因子可以逐层定位到叶子节点的存储资源池,存储数据的主副本将在该资源池下的不同存储节点上均匀分布。
[0051]特殊的,根据决策因子不能最终定位到资源池的情况,被定位到的目标决策域下子树各子节点将被认定为和存储服务相符的决策域,该域下的所有存储池将被认定为满足该服务。目标决策域将逐层向子决策域获取各存储池的负荷情况,最终将存储数据分配到负荷最小的存储池当中(如图3所示)。基于决策树的数据分布是数据负载均衡和一致性的前提,是存储服务选择选择存储资源的依据。
[0052]还要考虑到负载均衡,每一子决策域下所有存储资源的负载状况将被记录到该子决策域的父决策域节点,在当前决策域被服务需求锁定为最终决策域后,可以根据该决策域父节点记录的负载状态将存储数据保存到负载最小的存储池当中。
[0053]—般情况下,一次数据存储的主副本将被均匀的分布在存储池为单位的决策域内。特殊的,当一个存储池已经达到了负载上限,如内存使用,磁盘使用,带宽使用等。那么在数据到达该存储池前,由该存储池的父决策域节点判断当前存储池在新数据保存到存储池后是否影响存储池内其他服务需求。如果不影响,存储数据将被正常保存到该存储池下,否则该存储池的父决策域节点将在兄弟节点选择决策因子和本地服务最相近的决策域,并将数据重定向到该决策域对应的存储池中(如图4所示)。
[0054]最后,基于决策树的负载均衡为数据一致性考虑提供了数据重定向的方法。分布式存储系统对一致性要求可以分为强一致性和弱一致性。强一致性保证被写入存储系统的数据后续读操作都将返回最新值。写操作只有在全部副本写成功的情况下才会返回操作成功,否则将回退写入数据并返回失败。弱一致性不保证被写入存储系统的数据读操作都是最新值,但是在未来的一段时间内不同的副本将逐渐趋向和主本一致。数据在被写入主本后将返回成功,与副本的数据同步将由存储系统基于负载均衡的考虑逐步实施。
[0055]投射到决策树,强一致性和弱一致性体现的是数据读写可靠程度和性能。数据存储服务对一致性的要求作为存储服务属性被记录到和数据所在存储池对应的决策域节点上。当发生强一致性写操作时,决策域节点将根据存储节点的历史读写状态考虑存储节点可靠性并给出存储节点选择结果,将数据主副本写入相对稳定的设备当中。对于弱一致性,选择存储节点将优先考虑存储节点的性能,在主本写入存储节点后操作将返回成功,之后将进一步判断存储池内其他节点性能和历史读写状态,并将数据主副本重新写入存储节点。
[0056]数据一致性是分布式存储系统的数据可靠性策略,基于决策树的数据一致性是将数据保存到和强弱一致性要求匹配到存储资源上。典型的分布式存储系统则是在数据发生异常时用数据一致性策略恢复数据。
[0057]实施例2
[0058]本实施例提供一种分布式存储系统,可以实现上述实施例1的方法,其至少包括如下各单元。
[0059]第一单元,在针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对应的存储资源特性;
[0060]第二单元,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择子节点至叶子节点以确定所述存储服务的存储资源;
[0061]其中,所述决策树包括有一个根节点,多个子节点以及多个叶子节点,根节点对应为一组存储资源特性的决策因子构成的决策域,多个子节点分为一层或几层,每层所包括的各个子节点对应为根节点所对应的决策域中的一个决策因子的不同范围,各叶子节点则对应为不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子节点的子决策树中所对应的所有决策因子的不同范围的需求。
[0062]具体地,第二单元,在所选择的叶子节点包括的存储资源池中,按照分布式存储的数据分布、数据一致性和负载均衡要求选择所述存储服务的存储资源。
[0063]另外,上述系统还可以包括:决策树生成单元,根据存储资源特性和不同服务需求的对应关系将存储资源进行划分,根据存储资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树,所述决策树中根节点对应一组存储资源特性的决策因子构成的决策域,每层所包含的子节点对应的决策因子和一种存储服务的需求相对应。要说明的是,上决策树生成单元在构建所述决策树之前,还会对分布式存储系统提供的存储服务进行评估,确定决策树中每层子个节点的权重大小,每一层子节点的权重大小与该层子节点对应的决策因子对应的存储服务的需求限制程度成正比。
[0064]具体地,决策树生成单元构建所述决策树时,将权重最小的一层子节点置于决策树根部(即根节点)下第一层,将权重第二小的一层子节点置于决策树根部起第二层,依次类推,将权重最高的一层子节点置于决策的顶层。其中,一层所包含的多个子节点时,这多个子节点对应于同一决策因子的不同范围而已。
[0065]由于上述系统可以实施上述实施例1的方法,因此上述系统其他详细操作可以参见上述实施例1的相应内容,在此不再赘述。
[0066]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
[0067]以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种分布式存储系统实现资源硬亲和性的方法,其特征在于,包括:当针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对应的存储资 源特性,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择子节点,直到选 择至叶子节点以确定所述存储服务的存储资源;其中,所述决策树包括有一个根节点,多个子节点以及多个叶子节点,所述根节点对应 为一组存储资源特性的决策因子构成的决策域,所述多个子节点分为一层或几层,每层所 包含的各个子节点对应为所述根节点对应的决策域中的一种决策因子的不同范围,各叶子 节点对应为不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子 节点的子决策树中所对应的所有决策因子的不同范围的需求。2.如权利要求1所述的方法,其特征在于,直到选择至叶子节点以确定所述存储服务 的存储资源指:在所选择的叶子节点包括的存储资源池中,按照分布式存储的数据分布、数据一致性 和负载均衡要求选择所述存储服务的存储资源。3.如权利要求1或2所述的方法,其特征在于,该方法还包括:根据存储资源特性和不同存储服务的需求的对应关系将存储资源进行划分,根据存储 资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树, 所述决策树中根节点对应一组存储资源特性的决策因子构成的决策域,每层所包含的子节 点对应的决策因子和一种存储服务的需求相对应。4.如权利要求3所述的方法,其特征在于,构建所述决策树之前,该方法还包括:对分布式存储系统提供的存储服务进行评估,确定所述决策树中每层子节点的权重大 小,所述每层子节点的权重大小与该层子节点对应的决策因子所对应的存储服务的需求限 制程度成正比。5.如权利要求4所述的方法,其特征在于,构建所述决策树时,将权重最小的一层子节 点置于决策树根节点下的第一层,将权重第二小的一层子节点置于决策树根节点下的第二 层,依次类推,将权重最高的一层节点置于决策树的顶层。6.—种分布式存储系统,其特征在于,包括:第一单元,在针对某一存储服务进行存储资源选择时,根据该存储服务的需求确定对 应的存储资源特性;第二单元,根据所确定的存储资源特性从预先构建的决策树的根部逐层选择节点至叶 子节点以确定所述存储服务的存储资源;其中,所述决策树包括有一个根节点,多个子节点以及多个叶子节点,所述根节点对应 为一组存储资源特性的决策因子构成的决策域,所述多个子节点分为一层或几层,每层所 包含的各个子节点对应为所述根节点对应的决策域中的一种决策因子的不同范围,各叶子 节点对应为不同的存储资源池,且该存储资源池满足经由根节点和多个子节点到达该叶子 节点的子决策树中所对应的所有决策因子的不同范围的需求。7.如权利要求6所述的系统,其特征在于,所述第二单元,直到选择至叶子节点以确定 所述存储服务的存储资源指:在所选择的叶子节点包括的存储资源池中,按照分布式存储的数据分布、数据一致性 和负载均衡要求选择所述存储服务的存储资源。8.如权利要求6或7所述的系统,其特征在于,该系统还包括: 决策树生成单元,根据存储资源特性和不同服务需求的对应关系将存储资源进行划分,根据存储资源特性和不同存储服务的需求的对应关系构建一颗资源特性和存储服务对应的决策树,所述决策树中根节点对应一组存储资源特性的决策因子构成的决策域,每层所包含的子节点对应的决策因子和一种存储服务的需求相对应。9.如权利要求8所述的系统,其特征在于,所述决策树生成单元在构建所述决策树之前,对分布式存储系统提供的存储服务进行评估,确定所述决策树中每层子节点的权重大小,所述每层子节点的权重大小与该节点对应的决策因子对应的存储服务的需求限制程度成正比。10.如权利要求9所述的系统,其特征在于,所述决策树生成单元构建所述决策树时,将权重最小的一层子节点置于决策树的根节点下的第一层,将权重第二小的一层子节点置于决策树根节点下的第二层,依次类推,将权重最高的一层子节点置于决策树的顶层。
【文档编号】H04L29/08GK105991705SQ201510070113
【公开日】2016年10月5日
【申请日】2015年2月10日
【发明人】郑宏哲
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1