CN110851416A - 数据存储性能分析方法和装置、宿主机确定方法和装置 - Google Patents

数据存储性能分析方法和装置、宿主机确定方法和装置 Download PDF

Info

Publication number
CN110851416A
CN110851416A CN201810878517.9A CN201810878517A CN110851416A CN 110851416 A CN110851416 A CN 110851416A CN 201810878517 A CN201810878517 A CN 201810878517A CN 110851416 A CN110851416 A CN 110851416A
Authority
CN
China
Prior art keywords
data storage
user
host
hosts
storage nodes
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.)
Granted
Application number
CN201810878517.9A
Other languages
English (en)
Other versions
CN110851416B (zh
Inventor
郭泽晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810878517.9A priority Critical patent/CN110851416B/zh
Publication of CN110851416A publication Critical patent/CN110851416A/zh
Application granted granted Critical
Publication of CN110851416B publication Critical patent/CN110851416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例提供了一种数据存储性能分析方法和装置、宿主机确定方法和装置,其中,数据存储性能分析方法包括:获取分布式系统的用户的数据存储架构,该用户的数据存储架构包括该用户的数据存储节点和该用户的数据存储节点所在的宿主机,根据该用户的多副本数据存储策略,在该用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件,根据删除后剩余的宿主机的数量和数据存储节点的数量,确定该用户的数据存储架构是否能够完全存储饱和。

Description

数据存储性能分析方法和装置、宿主机确定方法和装置
技术领域
本申请涉及计算机领域,尤其涉及一种数据存储性能分析方法和装置、宿主机确定方法和装置。
背景技术
分布式系统如HBase系统通常包括多个宿主机,宿主机上可以运行数据存储节点,数据存储节点对应云端或本地特定大小的数据存储空间。
现有技术中,为满足用户利用分布式系统存储数据的需求,通常在分布式系统中随机选择宿主机,在随机选择的宿主机中为用户设置数据存储节点,以便于用户利用设置的数据存储节点存储数据。其中,用户的数据存储节点和运行有用户的数据存储节点的宿主机共同组成用户的数据存储架构。
然而,现有技术还无法对用户的数据存储架构的数据存储性能进行分析。
发明内容
本申请实施例的目的是提供一种数据存储性能分析方法和装置,以对用户的数据存储架构的数据存储性能进行分析。
本申请实施例的目的是提供一种宿主机确定方法和装置,以基于用户的数据存储架构的数据存储性能的分析结果,为用户选择用于设置数据存储节点的宿主机,保证用户的数据存储架构的合理性。
为达到上述技术目的,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种数据存储性能分析方法,包括:获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
第二方面,本申请实施例提供了一种宿主机确定方法,所述方法包括:获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;根据上述第一方面所述的方法,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
第三方面,本申请实施例提供了一种数据存储性能分析装置,包括:架构获取模块,用于获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;架构删除模块,用于根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;存储确定模块,用于根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
第四方面,本申请实施例提供了一种宿主机确定装置,所述装置包括:请求获取模块,用于获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;模拟添加模块,用于根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;饱和确定模块,用于根据上述第三方面所述的装置,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;宿主机确定模块,用于将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
第五方面,本申请实施例提供了一种数据存储性能分析设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如上述第一方面所述的数据存储性能分析方法的步骤。
第六方面,本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现如上述第一方面所述的数据存储性能分析方法的步骤。
第七方面,本申请实施例提供了一种宿主机确定设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如上述第二方面所述的宿主机确定方法的步骤。
第八方面,本申请实施例提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现如上述第二方面所述的宿主机确定方法的步骤。
通过本实施例提供的数据存储性能分析方法和装置,能够获取分布式系统的用户的数据存储架构,并基于用户的多副本数据存储策略,确定用户的数据存储架构是否能够完全存储饱和,从而对用户的数据存储架构的数据存储性能进行分析。
通过本实施例提供的宿主机确定方法和装置,能够在分布式系统的各宿主机中为用户模拟添加数据存储节点,并确定每次添加后得到的用户的数据存储架构是否能够完全存储饱和,并将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在候选宿主机中确定用于为用户添加数据存储节点的目标宿主机,从而基于用户的数据存储架构的数据存储性能的分析结果,为用户选择用于设置数据存储节点的宿主机,保证用户的数据存储架构的合理性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的分布式系统的示意图;
图2为本申请一实施例提供的数据存储性能分析方法的流程示意图;
图3为本申请一实施例提供的用户的数据存储架构的示意图;
图4为本申请一实施例提供的宿主机确定方法的流程示意图;
图5a为本申请一实施例提供的数据存储节点模拟添加前用户的数据存储架构的示意图;
图5b为本申请一实施例提供的数据存储节点模拟添加后用户的数据存储架构的示意图;
图5c为本申请一实施例提供的数据存储节点模拟添加后用户的数据存储架构的示意图;
图6为本申请另一实施例提供的节点部署方法的流程示意图;
图7为本申请一实施例提供的数据存储性能分析装置的结构示意图;
图8为本申请另一实施例提供的宿主机确定装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
本申请实施例的目的是提供一种数据存储性能分析方法和装置,以对用户的数据存储架构的数据存储性能进行分析。
本申请实施例的目的是提供一种宿主机确定方法和装置,以基于用户的数据存储架构的数据存储性能的分析结果,为用户选择用于设置数据存储节点的宿主机,保证用户的数据存储架构的合理性。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请一实施例提供的分布式系统的示意图,如图1所示,该系统包括多个宿主机,每个宿主机中均设置有数据存储节点,一个宿主机中可以设置一个或多个数据存储节点,数据存储节点用于存储对应用户的数据,一个宿主机中可以包含相同或不同用户的数据存储节点。为实现用户数据的分布式存储,本实施例中,每个用户至少包括n个数据存储节点,且每个数据存储节点位于不同宿主机中,在数据存储时,可以将同一份数据分别存储在这n个数据存储节点中,以降低由于宿主机故障导致数据丢失的概率,提高数据存储的可靠性。其中,n为大于1的自然数。
以图1为例,图1中共包括三个宿主机,每个宿主机中均包括两个数据存储节点,图1中,数据存储节点1-1、2-1、3-1属于用户A,数据存储节点1-2、2-2、3-2属于用户B,每当用户A存储数据时,将同一份数据分别存储在数据存储节点1-1、2-1、3-1中,每当用户B存储数据时,将同一份数据分别存储在数据存储节点1-2、2-2、3-2中,从而实现数据的多副本分布式存储,保证数据存储的可靠性。
在一个具体的实施例中,分布式系统可以为HBase系统,数据存储节点可以为云服务器(Elastic Compute Service,ECS)。
通过本实施例中的数据存储性能分析方法,可以对用户的数据存储架构的数据存储性能进行分析,确定用户的数据存储架构是否能够完全存储饱和。当用户需要扩容时,可以通过本申请实施例提供的宿主机确定方法,为用户确定用于增加数据存储节点的宿主机,以实现扩容。本申请实施例提供的数据存储性能分析方法和宿主机确定方法可以由分布式系统的特定服务器执行,如由分布式系统的管控节点执行。
图2为本申请一实施例提供的数据存储性能分析方法的流程示意图,如图2所示,该方法包括:
步骤S202,获取分布式系统的用户的数据存储架构,该用户的数据存储架构包括该用户的数据存储节点和该用户的数据存储节点所在的宿主机;
步骤S204,根据该用户的多副本数据存储策略,在该用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;
步骤S206,根据删除后剩余的宿主机的数量和数据存储节点的数量,确定该用户的数据存储架构是否能够完全存储饱和。
可见,通过本实施例,能够获取分布式系统的用户的数据存储架构,并基于用户的多副本数据存储策略,确定用户的数据存储架构是否能够完全存储饱和,从而对用户的数据存储架构的数据存储性能进行分析。
上述步骤S202中,获取分布式系统的用户的数据存储架构,该用户的数据存储架构包括该用户的数据存储节点和该用户的数据存储节点所在的宿主机。图3为本申请一实施例提供的用户的数据存储架构的示意图,如图3所示,用户的数据存储架构包括宿主机A1、A2、A3、A4,宿主机A1、A2中均设置有两个该用户的数据存储节点,宿主机A3中设置有一个该用户的数据存储节点,宿主机A4中设置有一个该用户的数据存储节点。
上述步骤S204中,根据该用户的多副本数据存储策略,在该用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件,具体为:
(a1)确定该用户的多副本数据存储策略对应的数据副本数量N,N为正整数;
(a2)在该用户的数据存储架构中,按照各个宿主机包含该用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序;
(a3)在排序后的宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个该用户的数据存储节点作为数据存储饱和的数据存储节点并删除;
(a4)根据数据存储节点的删除结果,在排序后的宿主机中,将包含该用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除;
(a5)循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
本申请实施例中,用户的数据以多副本的方式存储在分布式系统中,数据副本数量,即为将用户的一份数据在n个数据存储节点中存储n份(每个数据存储节点中存储一份)中的n的值。比如,用户的多副本数据存储策略对应的数据副本数量为3,则存储用户的数据时,将用户的一份数据存储在3个不同的数据存储节点中存储3份。
上述动作(a2)中,在该用户的数据存储架构中,按照各个宿主机包含该用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序。以图3为例,宿主机排序可以为:A1、A2、A3、A4。
上述动作(a3)中,在排序后的宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个该用户的数据存储节点作为数据存储饱和的数据存储节点并删除。以图3为例,在排序后的宿主机中,选取宿主机A1、A2、A3,在A1、A2、A3中分别确定一个该用户的数据存储节点作为数据存储饱和的数据存储节点并删除,从而A1、A2、A3中该用户的数据存储节点的数量分别更新为1、1、0。
上述动作(a4)中,根据数据存储节点的删除结果,在排序后的宿主机中,将包含该用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除。以图3为例,由于通过动作(a2),A1、A2、A3中该用户的数据存储节点的数量分别更新为1、1、0,因此该步骤中将宿主机A3作为数据存储饱和的宿主机并删除。
上述动作(a5)中,循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
本实施例中,在该用户的数据存储架构中,按照各个宿主机包含该用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序,能够使得包含该用户的数据存储节点的数量多的宿主机,其中的数据存储节点先被删除,剩余的数据存储节点留待与其他包含的节点少的宿主机进行匹配删除。若反向排序,则会导致包含的数据存储节点少的宿主机先被删除完毕,导致后续无法按照数据副本数量凑出足够多的宿主机进行数据存储节点的删除。因此,在该用户的数据存储架构中,按照各个宿主机包含该用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序,能够保证各个宿主机中的数据存储节点的利用率最高。
本实施例中,终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,本实施例中,若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第一子终止条件,或者,若删除后剩余的宿主机的数量大于等于该用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中该用户的数据存储节点的数量均相同且大于零,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第二子终止条件,或者,若删除后剩余的宿主机的数量小于该用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第三子终止条件。
上述步骤S206中,根据删除后剩余的宿主机的数量和数据存储节点的数量,确定该用户的数据存储架构是否能够完全存储饱和,具体为:
若删除后剩余的宿主机的数量和数据存储节点的数量满足第一子终止条件或者满足第二子终止条件,则确定该用户的数据存储架构能够完全存储饱和,若删除后剩余的宿主机的数量和数据存储节点的数量满足第三子终止条件,则确定该用户的数据存储架构不能够完全存储饱和。
具体地,在满足第一子终止条件时,说明在数据存储过程中,刚好用户全部的数据存储节点和宿主机均存储饱和并被删除,从而用户的数据存储架构能够完全存储饱和。
在满足第二子终止条件时,由于用户的数据存储数量无限多,因此每次按照数据副本数量随机挑多个数据存储节点进行数据写入,能够使得各个数据存储节点的已存储数据量基本呈现均匀增长状态,从而保证用户的数据存储架构中,各个数据存储节点均能够存储饱和。
以数据副本数量为3为例,则若删除后剩余的宿主机的数量大于等于3,且各个剩余的宿主机中用户的数据存储节点的数量大于零均相同,比如,用户的数据存储架构中,用户的剩余宿主机数量为5,且每个剩余宿主机中用户的数据存储节点的数量均为1,这种情况下能够保证用户的数据存储架构中,各个数据存储节点均能够存储饱和。
能够发现,在循环删除数据存储节点和宿主机的过程中,可能先满足上述的第二子终止条件,再满足上述的第一子终止条件,因此为提高删除效率,可以在满足上述第二子终止条件时,就停止删除动作。
该实施例中,若删除后剩余的宿主机的数量小于用户的数据副本数量,则由于无法满足多副本存储要求,确定用户的数据存储架构不能够完全存储饱和。
以图3所示的数据存储架构为例,宿主机A1、A2中均设置有两个该用户的数据存储节点,A3中设置有一个该用户的数据存储节点,宿主机A4中设置有一个该用户的数据存储节点。假设数据副本数量为3,在上述步骤S204中,首先将用户的各宿主机进行排序,得到排序A1(2)、A2(2)、A3(1)、A4(1),“()”中的值为用户的数据存储节点的数量,然后选取前3个宿主机A1、A2、A3,将A1、A2、A3中的数据存储节点数量减1,减1后确定A3节点数量为0,删除宿主机A3后进入下一循环,得到排序A1(1)、A2(1)、A4(1)。由于排序A1(1)、A2(1)、A4(1)满足上述的第二子终止条件,因此在步骤S206中,确定该用户的数据存储架构能够完全存储饱和。
可见,通过本实施例中的方法,能够确定用户的数据存储架构是否能够完全存储饱和,从而对用户的数据存储架构的数据存储性能进行分析。
进一步地,图4为本申请一实施例提供的宿主机确定方法的流程示意图,如图4所示,该方法包括:
步骤S402,获取分布式系统的用户的数据存储节点添加请求,其中,该系统包括多个数据存储节点,数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;
步骤S404,根据数据存储节点添加请求,分别在系统的各宿主机中为该用户模拟添加数据存储节点;
步骤S406,根据上述的数据存储性能分析方法,分别确定每次添加后得到的该用户的数据存储架构是否能够完全存储饱和;
步骤S408,将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在候选宿主机中确定用于为该用户添加数据存储节点的目标宿主机。
可见,通过本实施例,能够在分布式系统的各宿主机中为用户模拟添加数据存储节点,并确定每次添加后得到的用户的数据存储架构是否能够完全存储饱和,并将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在候选宿主机中确定用于为用户添加数据存储节点的目标宿主机,从而基于用户的数据存储架构的数据存储性能的分析结果,为用户选择用于设置数据存储节点的宿主机,保证用户的数据存储架构的合理性。
上述步骤S402中,获取分布式系统的用户的数据存储节点添加请求可以为,当用户需要扩容时,用户向分布式系统的管控节点发送数据存储节点添加请求,从而管控节点获取该数据存储节点添加请求。
需要说明的是,获取用户的数据存储节点添加请求之前,分布式系统已经包括有该用户的多个数据存储节点,比如,如图1中所示的三个数据存储节点,每个数据存储节点位于不同的服务器中,当用户存储数据时,将同一份数据分别存储在每个数据存储节点中。
上述步骤S404中,根据数据存储节点添加请求,分别在系统的各宿主机中为该用户模拟添加数据存储节点,可以为:根据数据存储节点添加请求,确定待添加的数据存储节点的数量,根据该数量,增加分布式系统的各宿主机中该用户的数据存储节点的数量。
一个例子中,假设分布式系统包括宿主机M个,则本步骤中,根据数据存储节点添加请求,确定待添加的数据存储节点的数量,如1,然后在分布式系统中,将各个宿主机中该用户的数据存储节点的数量均加1,从而为该用户模拟添加数据存储节点。
另一个例子中,分布式系统的宿主机列表可以如下表1所示。该列表中记录有分布式系统中的各个宿主机的标识,以及每个宿主机中可添加的数据存储节点的数量。本实施例中,在确定待添加的数据存储节点的数量后,可以根据宿主机列表,选取系统中可添加的数据存储节点的数量大于等于上述待添加的数量的宿主机,在选取的宿主机中模拟添加数据存储节点,即根据待添加的数据存储节点的数量,增加选取的宿主机中该用户的数据存储节点的数量。
表1
宿主机的标识 可添加的数据存储节点的数量
A 5
B 6
C 0
比如,以表1为例,确定待添加的数据存储节点的数量为1后,从表1中依次选取宿主机A和宿主机B,并先后将宿主机A中的该用户的数据存储节点的数量增加1,将宿主机B中的该用户的数据存储节点的数量增加1,从而在选取的宿主机中为用户模拟添加数据存储节点。
本实施例中,每在一个宿主机中为用户模拟添加数据存储节点后,均会改变用户的数据存储架构,用户的数据存储架构包括用户的数据存储节点和该用户的数据存储节点所在的宿主机。
图5a为本申请一实施例提供的数据存储节点模拟添加前用户的数据存储架构的示意图,如图5a所示,在为用户模拟添加数据存储节点前,用户的数据存储架构包括宿主机B1、B2、B3,其中宿主机B1、B2中均设置有两个该用户的数据存储节点,B3中设置有一个该用户的数据存储节点。
图5b为本申请一实施例提供的数据存储节点模拟添加后用户的数据存储架构的示意图,如图5b所示,在为用户模拟添加数据存储节点后,用户的数据存储架构包括宿主机B1、B2、B3,其中宿主机B1、B2、B3中均设置有两个该用户的数据存储节点。图5b中,在宿主机B3中为用户模拟添加数据存储节点。
图5c为本申请一实施例提供的数据存储节点模拟添加后用户的数据存储架构的示意图,如图5c所示,在为用户模拟添加数据存储节点后,用户的数据存储架构包括宿主机B1、B2、B3、B4,宿主机B1、B2中均设置有两个该用户的数据存储节点,B3中设置有一个该用户的数据存储节点,宿主机B4中设置有一个该用户的数据存储节点。图5c中,在宿主机B4中为用户模拟添加数据存储节点。
因此本申请实施例中,在为用户模拟添加数据存储节点后,还确定用户的数据存储架构,并通过上述步骤S406,根据上述的数据存储性能分析方法,分别确定每次添加后得到的该用户的数据存储架构是否能够完全存储饱和。该过程可以参考前面针对图2中的方法的介绍,这里不再重复。
本实施例中,上述步骤S408中,将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机。在候选宿主机中确定用于为该用户添加数据存储节点的目标宿主机,可以为:在候选宿主中,选取运行的该用户的数据存储节点的数量最少的宿主机为目标宿主机,或者,在候选宿主中,选取距离该用户物理距离最近的宿主机为目标宿主机。
具体地,本实施例中,可以将候选宿主机组成目标宿主机候选列表,在目标宿主机候选列表中选取目标宿主机时,若目标宿主候选列表中有一个宿主机,则将该宿主机确定为目标宿主机,若目标宿主机候选列表中有多个宿主机,在目标宿主机候选列表中,选取运行的该用户的数据存储节点的数量最少的宿主机为目标宿主机,或者,在宿主机候选列表中,选取距离该用户物理距离最近的宿主机为目标宿主机。
选取运行的该用户的数据存储节点的数量最少的宿主机为目标宿主机,能够使得该用户的各个宿主机中该用户的数据存储节点的数量尽量保持一致,提高分布式系统的数据存储效率。选取距离该用户物理距离最近的宿主机为目标宿主机,能够利用物理距离最近的优势缩短数据传输耗时,提高用户的数据存储效率。
可见,通过本申请实施例中的方法,能够根据用户的扩容需求,确定目标宿主机,且目标宿主机能够保证用户的数据存储架构中,每个数据存储节点均能够被存储饱和,从而在满足用户的扩容需求时避免存储空间的浪费,最大化利用所有节点的存储空间,降低库存碎片化的程度,实现数据存储节点的弹性部署。并且由于本实施例考虑到了用户的数据副本数量,因此通过本实施例确定得到的目标宿主机能够保证用户的多副本数据存储的要求,提高用户数据存储的可靠性。
进一步地,本实施例中,若候选宿主机的数量为零,则在分布式系统中未运行有该用户的数据存储节点的宿主机中,确定用于为该用户添加数据存储节点的目标宿主机,或者,在分布式系统中添加新的宿主机,将新的宿主机作为用于为该用户添加数据存储节点的目标宿主机。
其中,若分布式系统中未运行有该用户的数据存储节点的宿主机为多个,则在这多个宿主机中,随机选取一个宿主机作为用于为该用户添加数据存储节点的目标宿主机,或者选取距离用户物理距离最近的宿主机为目标宿主机。
比如,当前系统中包括宿主机1、宿主机2、宿主机3和宿主机4,其中宿主机1、2、3中运行有用户的数据存储节点,若通过上述方法,确定候选宿主机的数量为零,,则可以将宿主机4作为用于为该用户添加数据存储节点的目标宿主机。或者在系统中接入新的宿主机5,将宿主机5作为用于为该用户添加数据存储节点的目标宿主机。
本实施例中,在确定得到目标宿主机后,即能够根据用户的数据存储节点添加请求,在目标宿主机中为用户增加数据存储节点。
图6为本申请另一实施例提供的节点部署方法的流程示意图,如图6所示,该流程包括:
步骤S602,获取用户的数据存储节点添加请求;
步骤S604,获取系统的宿主机列表;
步骤S606,在宿主机列表中按照顺序依次选取一台宿主机;
步骤S608,根据数据存储节点添加请求,在选取的宿主机中为该用户模拟添加数据存储节点,得到用户的数据存储架构;
步骤S610,根据该用户的多副本数据存储策略,判断该用户的数据存储架构是否能够完全存储饱和。
该步骤可以参考前述图2中的过程。若能,执行步骤S612,否则,执行步骤S614。
步骤S612,将选取的宿主机加入目标宿主机候选列表。
步骤S614,判断是否选取到最后一个宿主机。
若是,执行步骤S616,否则,返回步骤S606。
步骤S616,判断目标宿主机候选列表是否为空。
若不为空,执行步骤S618,为空,执行步骤S620。
步骤S618,在目标宿主机候选列表中选取目标宿主机,在目标宿主机中为用户添加数据存储节点。
步骤S620,在系统中未运行有用户的数据存储节点的宿主机中,为用户添加数据存储节点,或者,在系统中添加新的宿主机,在新的宿主机中,为用户添加数据存储节点。
图6中的具体过程和效果可以参考前面的描述,这里不再重复。
图7为本申请一实施例提供的数据存储性能分析装置的结构示意图,如图7所示,该装置包括架构获取模块71、架构删除模块72和存储确定模块73。架构获取模块71用于获取分布式系统的用户的数据存储架构,该用户的数据存储架构包括该用户的数据存储节点和该用户的数据存储节点所在的宿主机。架构删除模块72用于根据该用户的多副本数据存储策略,在该用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。存储确定模块73用于根据删除后剩余的宿主机的数量和数据存储节点的数量,确定该用户的数据存储架构是否能够完全存储饱和。
可选地,架构删除模块72具体用于:确定该用户的多副本数据存储策略对应的数据副本数量N,N为正整数,在该用户的数据存储架构中,按照各个宿主机包含该用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序,在排序后的宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个该用户的数据存储节点作为数据存储饱和的数据存储节点并删除,根据数据存储节点的删除结果,在排序后的宿主机中,将包含该用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除,循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
可选地,终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,该装置还包括:第一条件确定模块,用于若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第一子终止条件,或者,第二条件确定模块,用于若删除后剩余的宿主机的数量大于等于该用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中该用户的数据存储节点的数量均相同,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第二子终止条件,或者,第三条件确定模块,用于若删除后剩余的宿主机的数量小于该用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足第三子终止条件。
可选地,存储确定模块73具体用于:若删除后剩余的宿主机的数量和数据存储节点的数量满足第一子终止条件或者满足第二子终止条件,则确定该用户的数据存储架构能够完全存储饱和,若删除后剩余的宿主机的数量和数据存储节点的数量满足第三子终止条件,则确定该用户的数据存储架构不能够完全存储饱和。
图7中的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
图8为本申请另一实施例提供的宿主机确定装置的结构示意图,如图8所示,该装置包括请求获取模块81、模拟添加模块82、饱和确定模块83和宿主机确定模块84。请求获取模块81用于获取分布式系统的用户的数据存储节点添加请求,其中,该系统包括多个数据存储节点,数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据。模拟添加模块82用于根据数据存储节点添加请求,分别在该系统的各宿主机中为该用户模拟添加数据存储节点。饱和确定模块83用于根据上述的数据存储性能分析装置,分别确定每次添加后得到的该用户的数据存储架构是否能够完全存储饱和。宿主机确定模块84,用于将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在候选宿主机中确定用于为该用户添加数据存储节点的目标宿主机。
可选地,模拟添加模块82具体用于:根据数据存储节点添加请求,确定待添加的数据存储节点的数量,根据该数量,增加该系统的各宿主机中该用户的数据存储节点的数量。
可选地,宿主机确定模块84具体用于:在候选宿主中,选取运行的该用户的数据存储节点的数量最少的宿主机为目标宿主机,或者,在候选宿主中,选取距离该用户物理距离最近的宿主机为目标宿主机。
可选地,该装置还包括:宿主机备选模块,用于若候选宿主机的数量为零,则在系统中未运行有该用户的数据存储节点的宿主机中,确定用于为该用户添加数据存储节点的目标宿主机,或者,在该系统中添加新的宿主机,将新的宿主机作为用于为该用户添加数据存储节点的目标宿主机。
图8中的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
本申请实施例还提供了一种电子设备,图9为本申请一实施例提供的电子设备的结构示意图,如图9所示。电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对电子设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在电子设备上执行存储器902中的一系列计算机可执行指令。电子设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906等。
在一个具体的实施例中,该电子设备为数据存储性能分析设备,包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对数据存储性能分析设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;
根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;
根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
可选地,计算机可执行指令在被执行时,根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件,包括:
确定所述用户的多副本数据存储策略对应的数据副本数量N,所述N为正整数;
在所述用户的数据存储架构中,按照各个宿主机包含所述用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序;
在排序后的所述宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个所述用户的数据存储节点作为数据存储饱和的数据存储节点并删除;
根据数据存储节点的删除结果,在排序后的所述宿主机中,将包含所述用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除;
循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
可选地,计算机可执行指令在被执行时,所述终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,还包括:
若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件;
或者,
若删除后剩余的宿主机的数量大于等于所述用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中所述用户的数据存储节点的数量均相同,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第二子终止条件;
或者,
若删除后剩余的宿主机的数量小于所述用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件。
可选地,计算机可执行指令在被执行时,所述根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和,包括:
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件或者满足所述第二子终止条件,则确定所述用户的数据存储架构能够完全存储饱和;
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件,则确定所述用户的数据存储架构不能够完全存储饱和。
该实施例的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
在另一个具体的实施例中,该电子设备为宿主机确定设备,包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对宿主机确定设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;
根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;
根据上述的数据存储性能分析方法,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;
将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
可选地,计算机可执行指令在被执行时,根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点,包括:
根据所述数据存储节点添加请求,确定待添加的数据存储节点的数量;
根据所述数量,增加所述系统的各宿主机中所述用户的数据存储节点的数量。
可选地,计算机可执行指令在被执行时,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机,包括:
在所述候选宿主中,选取运行的所述用户的数据存储节点的数量最少的宿主机为所述目标宿主机,或者,在所述候选宿主中,选取距离所述用户物理距离最近的宿主机为所述目标宿主机。
可选地,计算机可执行指令在被执行时,还包括:
若所述候选宿主机的数量为零,则在所述系统中未运行有所述用户的数据存储节点的宿主机中,确定用于为所述用户添加数据存储节点的目标宿主机,或者,在所述系统中添加新的宿主机,将所述新的宿主机作为用于为所述用户添加数据存储节点的目标宿主机。
该实施例的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
进一步地,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;
根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;
根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
可选地,计算机可执行指令在被执行时,根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件,包括:
确定所述用户的多副本数据存储策略对应的数据副本数量N,所述N为正整数;
在所述用户的数据存储架构中,按照各个宿主机包含所述用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序;
在排序后的所述宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个所述用户的数据存储节点作为数据存储饱和的数据存储节点并删除;
根据数据存储节点的删除结果,在排序后的所述宿主机中,将包含所述用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除;
循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
可选地,计算机可执行指令在被执行时,所述终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,还包括:
若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件;
或者,
若删除后剩余的宿主机的数量大于等于所述用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中所述用户的数据存储节点的数量均相同,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第二子终止条件;
或者,
若删除后剩余的宿主机的数量小于所述用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件。
可选地,计算机可执行指令在被执行时,所述根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和,包括:
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件或者满足所述第二子终止条件,则确定所述用户的数据存储架构能够完全存储饱和;
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件,则确定所述用户的数据存储架构不能够完全存储饱和。
该实施例的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;
根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;
根据上述的数据存储性能确定方法,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;
将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
可选地,计算机可执行指令在被执行时,根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点,包括:
根据所述数据存储节点添加请求,确定待添加的数据存储节点的数量;
根据所述数量,增加所述系统的各宿主机中所述用户的数据存储节点的数量。
可选地,计算机可执行指令在被执行时,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机,包括:
在所述候选宿主中,选取运行的所述用户的数据存储节点的数量最少的宿主机为所述目标宿主机,或者,在所述候选宿主中,选取距离所述用户物理距离最近的宿主机为所述目标宿主机。
可选地,计算机可执行指令在被执行时,还包括:
若所述候选宿主机的数量为零,则在所述系统中未运行有所述用户的数据存储节点的宿主机中,确定用于为所述用户添加数据存储节点的目标宿主机,或者,在所述系统中添加新的宿主机,将所述新的宿主机作为用于为所述用户添加数据存储节点的目标宿主机。
该实施例的具体描述可以参考方法前面的描述,且能够达到相同的效果,这里不再重复。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (20)

1.一种数据存储性能分析方法,包括:
获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;
根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;
根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
2.根据权利要求1所述的方法,其中,根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件,包括:
确定所述用户的多副本数据存储策略对应的数据副本数量N,所述N为正整数;
在所述用户的数据存储架构中,按照各个宿主机包含所述用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序;
在排序后的所述宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个所述用户的数据存储节点作为数据存储饱和的数据存储节点并删除;
根据数据存储节点的删除结果,在排序后的所述宿主机中,将包含所述用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除;
循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
3.根据权利要求1或2所述的方法,其中,所述终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,所述方法还包括:
若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件;
或者,
若删除后剩余的宿主机的数量大于等于所述用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中所述用户的数据存储节点的数量均相同,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第二子终止条件;
或者,
若删除后剩余的宿主机的数量小于所述用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件。
4.根据权利要求3所述的方法,其中,所述根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和,包括:
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件或者满足所述第二子终止条件,则确定所述用户的数据存储架构能够完全存储饱和;
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件,则确定所述用户的数据存储架构不能够完全存储饱和。
5.一种宿主机确定方法,所述方法包括:
获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;
根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;
根据权利要求1至4中任一项所述的方法,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;
将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
6.根据权利要求5所述的方法,其中,根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点,包括:
根据所述数据存储节点添加请求,确定待添加的数据存储节点的数量;
根据所述数量,增加所述系统的各宿主机中所述用户的数据存储节点的数量。
7.根据权利要求5所述的方法,其中,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机,包括:
在所述候选宿主中,选取运行的所述用户的数据存储节点的数量最少的宿主机为所述目标宿主机,或者,在所述候选宿主中,选取距离所述用户物理距离最近的宿主机为所述目标宿主机。
8.根据权利要求5所述的方法,其中,所述方法还包括:
若所述候选宿主机的数量为零,则在所述系统中未运行有所述用户的数据存储节点的宿主机中,确定用于为所述用户添加数据存储节点的目标宿主机,或者,在所述系统中添加新的宿主机,将所述新的宿主机作为用于为所述用户添加数据存储节点的目标宿主机。
9.一种数据存储性能分析装置,包括:
架构获取模块,用于获取分布式系统的用户的数据存储架构;所述用户的数据存储架构包括所述用户的数据存储节点和所述用户的数据存储节点所在的宿主机;
架构删除模块,用于根据所述用户的多副本数据存储策略,在所述用户的数据存储架构中逐批确定能够存储饱和的数据存储节点和宿主机并删除,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件;
存储确定模块,用于根据删除后剩余的宿主机的数量和数据存储节点的数量,确定所述用户的数据存储架构是否能够完全存储饱和。
10.根据权利要求9所述的装置,其中,所述架构删除模块具体用于:
确定所述用户的多副本数据存储策略对应的数据副本数量N,所述N为正整数;
在所述用户的数据存储架构中,按照各个宿主机包含所述用户的数据存储节点的数量由高至低的顺序,对各个宿主机进行排序;
在排序后的所述宿主机中,选取前N个宿主机,并在各个选取的宿主机中分别确定一个所述用户的数据存储节点作为数据存储饱和的数据存储节点并删除;
根据数据存储节点的删除结果,在排序后的所述宿主机中,将包含所述用户的数据存储节点的数量为0的宿主机作为数据存储饱和的宿主机并删除;
循环上述宿主机排序、数据存储节点删除、宿主机删除的动作,直至删除后剩余的宿主机的数量和数据存储节点的数量满足终止条件。
11.根据权利要求9或10所述的装置,其中,所述终止条件包括第一子终止条件、第二子终止条件和第三子终止条件,所述装置还包括:
第一条件确定模块,用于若删除后剩余的宿主机的数量和数据存储节点的数量均为0,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件;
或者,
第二条件确定模块,用于若删除后剩余的宿主机的数量大于等于所述用户的多副本数据存储策略对应的数据副本数量N,且各个剩余的宿主机中所述用户的数据存储节点的数量均相同,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第二子终止条件;
或者,
第三条件确定模块,用于若删除后剩余的宿主机的数量小于所述用户的多副本数据存储策略对应的数据副本数量N,则确定删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件。
12.根据权利要求11所述的装置,其中,所述存储确定模块具体用于:
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第一子终止条件或者满足所述第二子终止条件,则确定所述用户的数据存储架构能够完全存储饱和;
若删除后剩余的宿主机的数量和数据存储节点的数量满足所述第三子终止条件,则确定所述用户的数据存储架构不能够完全存储饱和。
13.一种宿主机确定装置,所述装置包括:
请求获取模块,用于获取分布式系统的用户的数据存储节点添加请求;其中,所述系统包括多个数据存储节点,所述数据存储节点运行在各自对应的宿主机上,用于存储对应用户的数据;
模拟添加模块,用于根据所述数据存储节点添加请求,分别在所述系统的各宿主机中为所述用户模拟添加数据存储节点;
饱和确定模块,用于根据权利要求9至12中任一项所述的装置,分别确定每次添加后得到的所述用户的数据存储架构是否能够完全存储饱和;
宿主机确定模块,用于将能够完全存储饱和的数据存储架构对应的被添加的宿主机作为候选宿主机,在所述候选宿主机中确定用于为所述用户添加数据存储节点的目标宿主机。
14.根据权利要求13所述的装置,其中,所述模拟添加模块具体用于:
根据所述数据存储节点添加请求,确定待添加的数据存储节点的数量;
根据所述数量,增加所述系统的各宿主机中所述用户的数据存储节点的数量。
15.根据权利要求13所述的装置,其中,所述宿主机确定模块具体用于:
在所述候选宿主中,选取运行的所述用户的数据存储节点的数量最少的宿主机为所述目标宿主机,或者,在所述候选宿主中,选取距离所述用户物理距离最近的宿主机为所述目标宿主机。
16.根据权利要求13所述的装置,其中,所述装置还包括:
宿主机备选模块,用于若所述候选宿主机的数量为零,则在所述系统中未运行有所述用户的数据存储节点的宿主机中,确定用于为所述用户添加数据存储节点的目标宿主机,或者,在所述系统中添加新的宿主机,将所述新的宿主机作为用于为所述用户添加数据存储节点的目标宿主机。
17.一种数据存储性能分析设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如权利要求1-4任一项所述的数据存储性能分析方法的步骤。
18.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现如权利要求1-4任一项所述的数据存储性能分析方法的步骤。
19.一种宿主机确定设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器实现如权利要求5-8任一项所述的宿主机确定方法的步骤。
20.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现如权利要求5-8任一项所述的宿主机确定方法的步骤。
CN201810878517.9A 2018-08-03 2018-08-03 数据存储性能分析方法和装置、宿主机确定方法和装置 Active CN110851416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810878517.9A CN110851416B (zh) 2018-08-03 2018-08-03 数据存储性能分析方法和装置、宿主机确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810878517.9A CN110851416B (zh) 2018-08-03 2018-08-03 数据存储性能分析方法和装置、宿主机确定方法和装置

Publications (2)

Publication Number Publication Date
CN110851416A true CN110851416A (zh) 2020-02-28
CN110851416B CN110851416B (zh) 2023-10-27

Family

ID=69595124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810878517.9A Active CN110851416B (zh) 2018-08-03 2018-08-03 数据存储性能分析方法和装置、宿主机确定方法和装置

Country Status (1)

Country Link
CN (1) CN110851416B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290801A1 (en) * 2011-05-10 2012-11-15 International Business Machines Corporation Controlling storing of data
CN103262071A (zh) * 2011-12-08 2013-08-21 华为技术有限公司 一种在分布式存储系统中删除数据的方法、装置及系统
CN103516809A (zh) * 2013-10-22 2014-01-15 浪潮电子信息产业股份有限公司 一种高扩展、高性能的分布式存储体系结构
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN107239319A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种虚拟机的数据存储方法和装置
CN107817947A (zh) * 2016-09-14 2018-03-20 北京金山云网络技术有限公司 一种数据存储方法、装置及系统
US9940060B1 (en) * 2016-05-02 2018-04-10 Pure Storage, Inc. Memory use and eviction in a deduplication storage system
EP3349132A1 (en) * 2017-01-17 2018-07-18 Cisco Technology, Inc. A distributed object storage

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
US20120290801A1 (en) * 2011-05-10 2012-11-15 International Business Machines Corporation Controlling storing of data
CN103262071A (zh) * 2011-12-08 2013-08-21 华为技术有限公司 一种在分布式存储系统中删除数据的方法、装置及系统
CN103516809A (zh) * 2013-10-22 2014-01-15 浪潮电子信息产业股份有限公司 一种高扩展、高性能的分布式存储体系结构
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN107239319A (zh) * 2016-03-29 2017-10-10 阿里巴巴集团控股有限公司 一种虚拟机的数据存储方法和装置
US9940060B1 (en) * 2016-05-02 2018-04-10 Pure Storage, Inc. Memory use and eviction in a deduplication storage system
CN107817947A (zh) * 2016-09-14 2018-03-20 北京金山云网络技术有限公司 一种数据存储方法、装置及系统
EP3349132A1 (en) * 2017-01-17 2018-07-18 Cisco Technology, Inc. A distributed object storage

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JING MEI 等: "Multi-copy Deleting Approach for Duplication Based Scheduling on Heterogeneous Computing Systems", pages 1 - 2 *
张翠苹;郭振洲;拱长青;: "云存储环境下副本选择策略研究", no. 2, pages 408 - 412 *
李萍;: "云存储环境下海洋数据多副本管理策略", no. 22, pages 148 - 150 *
陈冬芳;薛继伟;王征;: "基于对等模型的分布式协同设计系统", no. 15, pages 43 - 45 *

Also Published As

Publication number Publication date
CN110851416B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN107450979B (zh) 一种区块链共识方法及装置
CN107391527B (zh) 一种基于区块链的数据处理方法及设备
CN107391526B (zh) 一种基于区块链的数据处理方法及设备
CN107957989B (zh) 基于集群的词向量处理方法、装置以及设备
CN107038206B (zh) Lsm树的建立方法、lsm树的数据读取方法和服务器
CN108171267B (zh) 用户群划分方法及装置、消息推送方法及装置
CN110245279B (zh) 依赖树生成方法、装置、设备及存储介质
CN108073687B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN109947643B (zh) 一种基于a/b测试的实验方案的配置方法、装置及设备
CN110955720A (zh) 一种数据加载方法、装置及系统
CN115617799A (zh) 一种数据存储的方法、装置、设备及存储介质
CN111158650A (zh) 报表模板、报表模板及报表的生成方法、装置
CN110019975B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN109446271B (zh) 一种数据同步方法、装置、设备及介质
CN110008382B (zh) 一种确定TopN数据的方法、系统及设备
CN109658094B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN113641872B (zh) 一种散列方法、装置、设备及介质
CN113656426B (zh) 分布式数据处理方法、装置及设备
CN110851416A (zh) 数据存储性能分析方法和装置、宿主机确定方法和装置
CN115563116A (zh) 一种数据库表扫描方法、装置以及设备
CN108900631B (zh) 一种消息分配方法、装置及分布式系统
CN110096477B (zh) 一种数据存储的方法及装置
CN110704733B (zh) 一种发送数据的方法及装置
CN110955653A (zh) 一种数据页面的处理方法、装置、设备及计算机系统
CN113641871B (zh) 一种无锁散列方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant