CN108243228B - 用于数据调度的方法和智能伺服集群 - Google Patents
用于数据调度的方法和智能伺服集群 Download PDFInfo
- Publication number
- CN108243228B CN108243228B CN201611221746.0A CN201611221746A CN108243228B CN 108243228 B CN108243228 B CN 108243228B CN 201611221746 A CN201611221746 A CN 201611221746A CN 108243228 B CN108243228 B CN 108243228B
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- performance
- cache block
- lru queue
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于数据调度的方法和智能伺服集群,涉及数据存储技术领域,其中,方法包括:智能伺服集群在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;智能伺服集群判断初始高性能集群的负载能力是否能够满足普通集群在高并发IO时间段内的负载需求;若初始高性能集群的负载能力不能够满足普通集群在高并发IO时间段内的负载需求,则智能伺服集群根据初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入初始高性能集群,以形成高性能集群;智能伺服集群将普通集群中的热点数据提升到高性能集群中,以便高性能集群处理用户在高并发IO时间段内对热点数据的访问。
Description
技术领域
本发明涉及数据存储技术领域,尤其是一种用于数据调度的方法和智能伺服集群。
背景技术
分布式系统是建立在网络上的虚拟化软件系统,由网络中的多个节点组成,其作为整体向用户提供资源。数据文件存放在不同的节点上,管理者可以任意添加或者删除节点,也即,分布式系统可以支持大规模的节点扩展以及PB级的数量存储。当前比较流行的分布式系统有GFS、Hadoop、FastDFS、Lustre、MooseFS、ceph等等。
目前,在需要与磁盘频繁进行交互的复杂的输入输出(IO)场景下,尤其是在时段性的高并发IO场景下,主要是通过建立一个高性能集群来处理用户对数据的访问。但这样的方式具有以下缺点:一方面会带来昂贵的设备费用;另一方面,高并发IO不是一个集群的常态,高性能集群在更多的时段处于低负载状态,也即集群性能的利用率很低,这又造成了集群性能的浪费。
发明内容
本发明的一个目的是:提供一种用于数据调度的方法和智能伺服集群,能够在普通集群的高并发IO时间段来临之前形成高性能集群来处理用户对热点数据的访问。
根据本发明的一方面,提供一种用于数据调度的方法,包括:智能伺服集群在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;所述智能伺服集群判断所述初始高性能集群的负载能力是否能够满足所述普通集群在高并发IO时间段内的负载需求;若所述初始高性能集群的负载能力不能够满足所述普通集群在高并发IO时间段内的负载需求,则所述智能伺服集群根据所述初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入所述初始高性能集群,以形成高性能集群;所述智能伺服集群将所述普通集群中的热点数据提升到所述高性能集群中,以便所述高性能集群处理用户在所述高并发IO时间段内对所述热点数据的访问。
在一个实施例中,所述方法还包括:响应于用户在所述高并发IO时间段内对所述高性能集群中的非热点数据的访问,所述智能伺服集群将所述高性能集群中的非热点数据分发给一个或多个普通集群进行处理。
在一个实施例中,所述方法还包括:若分发给所述一个或多个普通集群的非热点数据变为热点数据,则所述智能伺服集群将该热点数据提升到所述高性能集群中。
在一个实施例中,所述方法还包括:若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则所述智能伺服集群直接将所述初始高性能集群作为所述高性能集群。
在一个实施例中,所述方法还包括:若所述高性能集群的负载在所述高并发IO时间段内超过其负载能力,则所述智能伺服集群根据所述高性能集群的负载缺口从自身的伺服池中剥离新的存储设备加入到所述高性能集群中。
在一个实施例中,所述方法还包括:在所述高并发IO时间段之后,所述智能伺服集群将所述热点数据重新刷回到所述普通集群中。
在一个实施例中,所述方法还包括:在将所述高性能集群中某个存储设备中的数据重新刷回到所述普通集群中后,所述智能伺服集群将该存储设备从所述高性能集群剥离并回收到所述伺服池中。
在一个实施例中,所述智能伺服集群根据如下方式确定所述普通集群中的热点数据:将所述普通集群的缓存划分为多个缓存块;根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的近期最少使用LRU队列,不同的LRU队列对应不同的优先级;其中,根据如下方式管理每个LRU队列中的缓存块:某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头;
若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰;
删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到所述普通集群中的磁盘中;将所述普通集群的缓存中剩余的数据作为所述普通集群中的热点数据。
在一个实施例中,所述根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的近期最少使用LRU队列包括:将新加入的缓存块放入优先级最低的LRU队列的队头;若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头;若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。
在一个实施例中,所述方法还包括:将所删除的数据的索引保存,其中,所述索引存储有所删除的数据在所述普通集群中的磁盘中的位置。
在一个实施例中,所述方法还包括:若所删除的数据被重新访问,则根据所删除的数据的索引确定该数据在所述普通集群中的磁盘中的位置;将该数据从所述普通集群中的磁盘移动到缓存的某个缓存块中;根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列;将该数据所在的缓存块移动到所述目标LRU队列的队头。
在一个实施例中,根据如下方式管理保存的索引:某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;若所述索引LRU队列中的索引的数量超过其存储能力,则将所述索引LRU队列的队尾的索引删除。
根据本发明的另一方面,提供一种用于数据调度的智能伺服集群,包括:集群选取单元,用于在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;负载判断单元,用于判断所述初始高性能集群的负载能力是否能够满足所述普通集群在高并发IO时间段内的负载需求;集群处理单元,用于若所述初始高性能集群的负载能力不能够满足所述普通集群在高并发IO时间段内的负载需求,则根据所述初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入所述初始高性能集群,以形成高性能集群;数据调度单元,用于将所述普通集群中的热点数据提升到所述高性能集群中,以便所述高性能集群处理用户在所述高并发IO时间段内对所述热点数据的访问。
在一个实施例中,所述数据调度单元,还用于响应于用户在所述高并发IO时间段内对所述高性能集群中的非热点数据的访问,将所述高性能集群中的非热点数据分发给一个或多个普通集群进行处理。
在一个实施例中,所述数据调度单元,还用于若分发给所述一个或多个普通集群的非热点数据变为热点数据,则将该热点数据提升到所述高性能集群中。
在一个实施例中,所述集群处理单元,还用于若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则直接将所述初始高性能集群作为所述高性能集群。
在一个实施例中,所述集群处理单元,还用于若所述高性能集群的负载在所述高并发IO时间段内超过其负载能力,则根据所述高性能集群的负载缺口从自身的伺服池中剥离新的存储设备加入到所述高性能集群中。
在一个实施例中,所述数据调度单元,还用于在所述高并发IO时间段之后,将所述热点数据重新刷回到所述普通集群中。
在一个实施例中,所述集群处理单元,还用于在将所述高性能集群中某个存储设备中的数据重新刷回到所述普通集群中后,将该存储设备从所述高性能集群剥离并回收到所述伺服池中。
在一个实施例中,所述智能伺服集群还包括:缓存划分单元,用于将所述普通集群的缓存划分为多个缓存块;队列管理单元,用于根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的LRU队列,不同的LRU队列对应不同的优先级;缓存管理单元,用于根据如下方式管理每个LRU队列中的缓存块:某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头;若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰;数据管理单元,用于删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到所述普通集群中的磁盘中;将所述普通集群的缓存中剩余的数据作为所述普通集群中的热点数据。
在一个实施例中,所述队列管理单元,用于将新加入的缓存块放入优先级最低的LRU队列的队头;若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头;若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。
在一个实施例中,所述智能伺服集群还包括:索引保存单元,用于将所删除的数据的索引保存,其中,所述索引存储有所删除的数据在所述普通集群中的磁盘中的位置。
在一个实施例中,所述数据管理单元,还用于若所删除的数据被重新访问,则根据所删除的数据的索引确定该数据在所述普通集群中的磁盘中的位置;将该数据从所述普通集群中的磁盘移动到缓存的某个缓存块中;所述队列管理单元,还用于根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列;将该数据所在的缓存块移动到所述目标LRU队列的队头。
在一个实施例中,所述索引保存单元,用于根据如下方式管理保存的索引:某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;若所述索引LRU队列中的索引的数量超过其存储能力,则将所述索引LRU队列的队尾的索引删除。
本发明实施例中,智能伺服集群可以在普通集群的高并发IO时间段来临之前形成比普通集群的负载性能更高的高性能集群,并将普通集群中的热点数据提升到高性能集群进行处理,从而一方面节约了成本,另一方面也充分利用了集群的性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的用于数据调度的方法的流程示意图;
图2是本发明的集群架构示意图;
图3是本发明对热点数据进行管理的示意图;
图4是根据本发明一个实施例的用于数据调度的智能伺服集群的结构示意图;
图5是根据本发明另一个实施例的用于数据调度的智能伺服集群的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是根据本发明一个实施例的用于数据调度的方法的流程示意图。如图1所示,该方法包括:
步骤102,智能伺服集群在普通集群的高并发IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群。
智能伺服集群可以通过监测普通集群的状态,进而通过智能分析以获取普通集群的高并发IO时间段、普通集群的容量以及普通集群在高并发IO时间段内的负载需求等特征数据,在获取到特征数据后可以将特征数据存储到特征库中。另外,智能伺服集群在分析出普通集群的特征数据后,还可以通过人工干预的方式对特征数据进行调整,以提高特征数据的准确性,从而提高智能伺服集群根据特征数据进行相应动作的准确性。
候选集群例如可以主要包括固态硬盘(SSD)。这里,候选集群可以包括一个或多个。
步骤104,智能伺服集群判断初始高性能集群的负载能力是否能够满足普通集群在高并发IO时间段内的负载需求。若是,则执行步骤106;若否,则执行步骤108。
步骤106,智能伺服集群直接将初始高性能集群作为高性能集群。
步骤108,智能伺服集群根据初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入初始高性能集群,以形成高性能集群,如图2所示,为本发明的集群架构示意图。针对普通集群1,可以形成高性能集群1。另外,对于其他普通集群,也可以形成相应的高性能集群。
智能伺服集群的伺服池具有多个存储设备,并且伺服池中的存储设备可以按需加入或删除,以保证智能伺服集群的正常运行。在一个实施例中,存储设备例如可以优选是对象存储设备(OSD)。智能伺服集群可以对伺服池中的存储设备进行剥离、回收、健康监测等。另外,可以根据初始高性能集群需要增加的负载能力计算出其需要的存储设备的数量,进而从伺服池剥离相应数量的存储设备加入初始高性能集群。
步骤110,智能伺服集群将普通集群中的热点数据提升到高性能集群中,以便高性能集群处理用户在高并发IO时间段内对热点数据的访问。优选地,在将普通集群中的热点数据提升到高性能集群中的过程中,可以逐渐将用户对热点数据的访问请求从普通集群移交给高性能集群,从而保证用户对热点数据的访问的连续性,提升用户体验。
在一个实施例中,若高性能集群的负载在高并发IO时间段内超过其负载能力,则智能伺服集群可以根据高性能集群的负载缺口从自身的伺服池中剥离新的存储设备,例如OSD,加入到高性能集群中,以满足高性能集群在高并发IO时间段内的负载需求。
本实施例中,智能伺服集群可以在普通集群的高并发IO时间段来临之前形成比普通集群的负载性能更高的高性能集群,并将普通集群中的热点数据提升到高性能集群进行处理,从而一方面节约了成本,另一方面也充分利用了集群的性能。
考虑到高性能集群中可能也存在非热点数据,为了减轻高性能集群的业务压力,在一个实施例中,响应于用户在高并发IO时间段内对高性能集群中的非热点数据的访问,智能伺服集群可以将高性能集群中的非热点数据分发给一个或多个普通集群进行处理,从而使得高性能集群仅处理从普通集群中提升的热点数据,进一步优化集群的性能利用率。进一步地,若分发给一个或多个普通集群的非热点数据变为热点数据,则智能伺服集群可以将该热点数据提升到高性能集群中进行处理,从而提高数据处理能力。
在普通集群的高并发IO时间段之后,智能伺服集群可以将热点数据从高性能集群重新刷回到普通集群中。优选地,在将热点数据重新刷回到普通集群中的过程中,可以逐渐将用户对热点数据的访问请求从高性能集群移交给普通集群。优选地,在将高性能集群中某个存储设备中的数据重新刷回到普通集群中后,智能伺服集群将该存储设备从高性能集群剥离并回收到伺服池中。以OSD为例,在将高性能集群中某个OSD中的数据刷回到普通集群后,高性能集群可以向智能伺服集群发送该OSD的退役通知,进而智能伺服集群可以将该OSD从高性能集群剥离并回收到伺服池中。
普通集群中的热点数据可以位于热点池中,热点池例如可以是普通集群的缓存。本发明还提供了一种智能伺服集群对普通集群中的热点数据进行管理的方法,下面结合图3进行说明。
首先,将普通集群的缓存划分为多个缓存块。
然后,根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的近期最少使用(LRU)队列,这里,不同的LRU队列对应不同的优先级。参见图3,Q0、Q1…Qk代表不同的LRU队列,每个LRU队列中可以具有多个缓存块,并且Q0、Q1…Qk的优先级逐渐增大。
在一个实现方式中,可以根据如下方式确定每个缓存块所在的LRU队列:
(1)对于新加入LRU队列的缓存块来说,将新加入的缓存块放入优先级最低的LRU队列的队头,也即Q0的队头,如图3所示。
(2)对于已经在LRU队列中的缓存块来说,按照如下方式调整缓存块所在的LRU队列:
若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头。例如,参见图3,可以将Q0中满足条件的缓存块从Q0删除,并移到Q1的队头。
为了防止高优先级的缓存块永远不被淘汰,若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。例如,参见图3,可以将Qk中满足条件的缓存块从Qk删除,并移到Q1的队头,这里,k的取值例如可以是2。
需要说明的是,上述第一预设频率和第二预设频率可以根据不同的LRU队列来分别进行设定。对于同一个LRU队列来说,第一预设频率大于第二预设频率。
此外,对于每个LRU队列中的缓存块来说,可以根据如下方式进行管理:
(1)某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头(参见图3),如此可以使得队头的数据块为最近访问的数据块,而队尾的数据块为最近访问最少的数据块。
(2)若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰。
例如,在某个LRU队列的队头新加入缓存块(例如,从优先级高一级的LRU队列或优先级低一级的优先级队列移过来的缓存块)后,缓存块的数量超过其存储能力,此时,将将该LRU队列的队尾的缓存块淘汰(参见图3)。
(3)在淘汰缓存块之后,删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到普通集群中的磁盘中。
(4)将普通集群的缓存中剩余的数据作为普通集群中的热点数据。
考虑到所删除的缓存块的访问频率有可能比之前所在LRU队列队头新加入的缓存块的访问频率高,因此,优选地,可以将所删除的数据的索引保存,其中,索引存储有所删除的数据在普通集群中的磁盘中的位置,以便在所删除的数据被重新访问时可以尽快找到数据。在一个实施例中,可以根据如下方式管理保存的索引:某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;若索引LRU队列中的索引的数量超过其存储能力,则将索引LRU队列的队尾的索引删除,也即完全淘汰缓存块中的数据。
对于被重新访问的所删除的数据,可以根据如下方式进行处理:
首先,根据所删除的数据的索引确定该数据在普通集群中的磁盘中的位置。然后,将该数据从普通集群中的磁盘移动到缓存的某个缓存块中。之后,根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列。之后,将该数据所在的缓存块移动到目标LRU队列的队头。例如,参见图3,被重新访问的数据所在的缓存块被移动到Qk。
根据如上方式进行管理可以确保缓存中的数据是访问频率比较高的数据,从而可以将缓存中的数据确定为普通集群中的热点数据。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。
图4是根据本发明一个实施例的用于数据调度的智能伺服集群的结构示意图。如图4所示,智能伺服集群包括:
集群选取单元401,用于在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;
负载判断单元402,用于判断初始高性能集群的负载能力是否能够满足普通集群在高并发IO时间段内的负载需求;
集群处理单元403,用于若初始高性能集群的负载能力能够满足普通集群在高并发IO时间段内的负载需求,则直接将初始高性能集群作为高性能集群;若初始高性能集群的负载能力不能够满足普通集群在高并发IO时间段内的负载需求,则根据初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入初始高性能集群,以形成高性能集群;
数据调度单元404,用于将普通集群中的热点数据提升到高性能集群中,以便高性能集群处理用户在高并发IO时间段内对热点数据的访问。
本实施例中,智能伺服集群可以在普通集群的高并发IO时间段来临之前形成比普通集群的负载性能更高的高性能集群,并将普通集群中的热点数据提升到高性能集群进行处理,从而一方面节约了成本,另一方面也充分利用了集群的性能。
在一个实施例中,为了减轻高性能集群的业务压力,数据调度单元404还用于响应于用户在高并发IO时间段内对高性能集群中的非热点数据的访问,将高性能集群中的非热点数据分发给一个或多个普通集群进行处理。进一步地,数据调度单元304还用于若分发给一个或多个普通集群的非热点数据变为热点数据,则将该热点数据提升到高性能集群中,从而提高数据处理能力。
在一个实施例中,集群处理单元403还用于若高性能集群的负载在高并发IO时间段内超过其负载能力,则根据高性能集群的负载缺口从自身的伺服池中剥离新的存储设备加入到高性能集群中,以满足高性能集群在高并发IO时间段内的负载需求。
在一个实施例中,数据调度单元404还用于在高并发IO时间段之后,将热点数据重新刷回到普通集群中。优选地,集群处理单元303还用于在将高性能集群中某个存储设备中的数据重新刷回到普通集群中后,将该存储设备从高性能集群剥离并回收到伺服池中。
图5是根据本发明一个实施例的用于数据调度的智能伺服集群的结构示意图。与图4所示实施例相比,图5所示的智能伺服集群还包括:
缓存划分单元501,用于将普通集群的缓存划分为多个缓存块。
队列管理单元502,用于根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的LRU队列,不同的LRU队列对应不同的优先级。在一个实现方式中,队列管理单元502可以用于将新加入的缓存块放入优先级最低的LRU队列的队头;若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头;若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。
缓存管理单元503,用于根据如下方式管理每个LRU队列中的缓存块:某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头;若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰。
数据管理单元504,用于删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到普通集群中的磁盘中;将普通集群的缓存中剩余的数据作为普通集群中的热点数据。
本实施例中,智能伺服集群可以确保普通集群的缓存中的数据为访问频率较高的数据,以便将缓存中的数据确定为普通集群中的热点数据。
在用于数据调度的智能伺服集群的一个实施例中,还可以包括索引保存单元,用于将所删除的数据的索引保存,其中,索引存储有所删除的数据在普通集群中的磁盘中的位置,以便在所删除的数据被重新访问时可以尽快找到数据。在一个实现方式中,索引保存单元可以用于根据如下方式管理保存的索引:某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;若索引LRU队列中的索引的数量超过其存储能力,则将索引LRU队列的队尾的索引删除。
根据本发明的一个实施例,数据管理单元503还用于若所删除的数据被重新访问,则根据所删除的数据的索引确定该数据在普通集群中的磁盘中的位置;将该数据从普通集群中的磁盘移动到缓存的某个缓存块中。相应地,该实施例中的队列管理单元504还用于根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列;将该数据所在的缓存块移动到目标LRU队列的队头。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好地说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (24)
1.一种用于数据调度的方法,其特征在于,包括:
智能伺服集群在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;
所述智能伺服集群判断所述初始高性能集群的负载能力是否能够满足所述普通集群在高并发IO时间段内的负载需求;
若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则所述智能伺服集群将所述初始高性能集群作为高性能集群;
若所述初始高性能集群的负载能力不能够满足所述普通集群在高并发IO时间段内的负载需求,则所述智能伺服集群根据所述初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入所述初始高性能集群,以形成高性能集群;
所述智能伺服集群将所述普通集群中的热点数据提升到所述高性能集群中,以便所述高性能集群处理用户在所述高并发IO时间段内对所述热点数据的访问。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于用户在所述高并发IO时间段内对所述高性能集群中的非热点数据的访问,所述智能伺服集群将所述高性能集群中的非热点数据分发给一个或多个普通集群进行处理。
3.根据权利要求2所述的方法,其特征在于,还包括:
若分发给所述一个或多个普通集群的非热点数据变为热点数据,则所述智能伺服集群将该热点数据提升到所述高性能集群中。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则所述智能伺服集群直接将所述初始高性能集群作为所述高性能集群。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述高性能集群的负载在所述高并发IO时间段内超过其负载能力,则所述智能伺服集群根据所述高性能集群的负载缺口从自身的伺服池中剥离新的存储设备加入到所述高性能集群中。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述高并发IO时间段之后,所述智能伺服集群将所述热点数据重新刷回到所述普通集群中。
7.根据权利要求6所述的方法,其特征在于,还包括:
在将所述高性能集群中某个存储设备中的数据重新刷回到所述普通集群中后,所述智能伺服集群将该存储设备从所述高性能集群剥离并回收到所述伺服池中。
8.根据权利要求1-7任意一项所述的方法,其特征在于,所述智能伺服集群根据如下方式确定所述普通集群中的热点数据:
将所述普通集群的缓存划分为多个缓存块;
根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的近期最少使用LRU队列,不同的LRU队列对应不同的优先级;
其中,根据如下方式管理每个LRU队列中的缓存块:
某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头;
若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰;
删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到所述普通集群中的磁盘中;
将所述普通集群的缓存中剩余的数据作为所述普通集群中的热点数据。
9.根据权利要求8所述的方法,其特征在于,所述根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的近期最少使用LRU队列包括:
将新加入的缓存块放入优先级最低的LRU队列的队头;
若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头;
若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。
10.根据权利要求8所述的方法,其特征在于,还包括:
将所删除的数据的索引保存,其中,所述索引存储有所删除的数据在所述普通集群中的磁盘中的位置。
11.根据权利要求10所述的方法,其特征在于,还包括:
若所删除的数据被重新访问,则根据所删除的数据的索引确定该数据在所述普通集群中的磁盘中的位置;
将该数据从所述普通集群中的磁盘移动到缓存的某个缓存块中;
根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列;
将该数据所在的缓存块移动到所述目标LRU队列的队头。
12.根据权利要求10所述的方法,其特征在于,根据如下方式管理保存的索引:
某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;
若所述索引LRU队列中的索引的数量超过其存储能力,则将所述索引LRU队列的队尾的索引删除。
13.一种用于数据调度的智能伺服集群,其特征在于,包括:
集群选取单元,用于在普通集群的高并发输入输出IO时间段来临之前,从候选集群中选取一个集群作为初始高性能集群;
负载判断单元,用于判断所述初始高性能集群的负载能力是否能够满足所述普通集群在高并发IO时间段内的负载需求;
集群处理单元,用于若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则将所述初始高性能集群作为高性能集群;若所述初始高性能集群的负载能力不能够满足所述普通集群在高并发IO时间段内的负载需求,则根据所述初始高性能集群需要增加的负载能力从自身的伺服池剥离存储设备加入所述初始高性能集群,以形成高性能集群;
数据调度单元,用于将所述普通集群中的热点数据提升到所述高性能集群中,以便所述高性能集群处理用户在所述高并发IO时间段内对所述热点数据的访问。
14.根据权利要求13所述的智能伺服集群,其特征在于,
所述数据调度单元,还用于响应于用户在所述高并发IO时间段内对所述高性能集群中的非热点数据的访问,将所述高性能集群中的非热点数据分发给一个或多个普通集群进行处理。
15.根据权利要求14所述的智能伺服集群,其特征在于,
所述数据调度单元,还用于若分发给所述一个或多个普通集群的非热点数据变为热点数据,则将该热点数据提升到所述高性能集群中。
16.根据权利要求13所述的智能伺服集群,其特征在于,
所述集群处理单元,还用于若所述初始高性能集群的负载能力能够满足所述普通集群在高并发IO时间段内的负载需求,则直接将所述初始高性能集群作为所述高性能集群。
17.根据权利要求13所述的智能伺服集群,其特征在于,
所述集群处理单元,还用于若所述高性能集群的负载在所述高并发IO时间段内超过其负载能力,则根据所述高性能集群的负载缺口从自身的伺服池中剥离新的存储设备加入到所述高性能集群中。
18.根据权利要求13所述的智能伺服集群,其特征在于,
所述数据调度单元,还用于在所述高并发IO时间段之后,将所述热点数据重新刷回到所述普通集群中。
19.根据权利要求18所述的智能伺服集群,其特征在于,
所述集群处理单元,还用于在将所述高性能集群中某个存储设备中的数据重新刷回到所述普通集群中后,将该存储设备从所述高性能集群剥离并回收到所述伺服池中。
20.根据权利要求13-19任意一项所述的智能伺服集群,其特征在于,还包括:
缓存划分单元,用于将所述普通集群的缓存划分为多个缓存块;
队列管理单元,用于根据每个缓存块中数据的访问频率的变化情况确定每个缓存块所在的LRU队列,不同的LRU队列对应不同的优先级;
缓存管理单元,用于根据如下方式管理每个LRU队列中的缓存块:某个缓存块中数据的访问次数每增加一次,即将该缓存块移到所在LRU队列的队头;若某个LRU队列中的缓存块的数量超过其存储能力,则将该LRU队列的队尾的缓存块淘汰;
数据管理单元,用于删除淘汰的缓存块中的数据,并将该缓存块中的数据移动到所述普通集群中的磁盘中;将所述普通集群的缓存中剩余的数据作为所述普通集群中的热点数据。
21.根据权利要求20所述的智能伺服集群,其特征在于,
所述队列管理单元,用于将新加入的缓存块放入优先级最低的LRU队列的队头;若某个缓存块中数据的访问频率大于该缓存块所在当前LRU队列对应的第一预设频率,则将该缓存块从当前LRU队列删除,并移到优先级高一级的LRU队列的队头;若某个缓存块中数据的访问频率小于该缓存块所在当前LRU队列对应的第二预设频率,则将该缓存块从当前LRU队列删除,并移到优先级低一级的LRU队列的队头。
22.根据权利要求20所述的智能伺服集群,其特征在于,还包括:
索引保存单元,用于将所删除的数据的索引保存,其中,所述索引存储有所删除的数据在所述普通集群中的磁盘中的位置。
23.根据权利要求22所述的智能伺服集群,其特征在于,
所述数据管理单元,还用于若所删除的数据被重新访问,则根据所删除的数据的索引确定该数据在所述普通集群中的磁盘中的位置;将该数据从所述普通集群中的磁盘移动到缓存的某个缓存块中;
所述队列管理单元,还用于根据该数据的访问频率确定该数据所在缓存块所在的目标LRU队列;将该数据所在的缓存块移动到所述目标LRU队列的队头。
24.根据权利要求22所述的智能伺服集群,其特征在于,
所述索引保存单元,用于根据如下方式管理保存的索引:某个所删除数据的访问次数每增加一次,即将该数据的索引移到索引LRU队列的队头;若所述索引LRU队列中的索引的数量超过其存储能力,则将所述索引LRU队列的队尾的索引删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611221746.0A CN108243228B (zh) | 2016-12-27 | 2016-12-27 | 用于数据调度的方法和智能伺服集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611221746.0A CN108243228B (zh) | 2016-12-27 | 2016-12-27 | 用于数据调度的方法和智能伺服集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108243228A CN108243228A (zh) | 2018-07-03 |
CN108243228B true CN108243228B (zh) | 2020-09-29 |
Family
ID=62702404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611221746.0A Active CN108243228B (zh) | 2016-12-27 | 2016-12-27 | 用于数据调度的方法和智能伺服集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243228B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10853084B2 (en) * | 2019-02-13 | 2020-12-01 | Abb Schweiz Ag | System and method for coordinating resources |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN102413172A (zh) * | 2011-10-31 | 2012-04-11 | 北京联创信安科技有限公司 | 一种基于集群技术的并行数据共享装置方法和装置 |
CN102857577A (zh) * | 2012-09-24 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储自动负载均衡的系统及方法 |
CN105610992A (zh) * | 2016-03-31 | 2016-05-25 | 浪潮通信信息系统有限公司 | 一种分布式流计算系统任务分配负载均衡方法 |
CN105721553A (zh) * | 2016-01-25 | 2016-06-29 | 中国联合网络通信有限公司广东省分公司 | 一种自适应集群消息分发器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140196054A1 (en) * | 2013-01-04 | 2014-07-10 | International Business Machines Corporation | Ensuring performance of a computing system |
-
2016
- 2016-12-27 CN CN201611221746.0A patent/CN108243228B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
CN102413172A (zh) * | 2011-10-31 | 2012-04-11 | 北京联创信安科技有限公司 | 一种基于集群技术的并行数据共享装置方法和装置 |
CN102857577A (zh) * | 2012-09-24 | 2013-01-02 | 北京联创信安科技有限公司 | 一种集群存储自动负载均衡的系统及方法 |
CN105721553A (zh) * | 2016-01-25 | 2016-06-29 | 中国联合网络通信有限公司广东省分公司 | 一种自适应集群消息分发器 |
CN105610992A (zh) * | 2016-03-31 | 2016-05-25 | 浪潮通信信息系统有限公司 | 一种分布式流计算系统任务分配负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108243228A (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196851B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
WO2019085769A1 (zh) | 一种数据分层存储、分层查询方法及装置 | |
US20090307329A1 (en) | Adaptive file placement in a distributed file system | |
CN110727685B (zh) | 一种基于Cassandra数据库的数据压缩方法、设备以及存储介质 | |
CN107315540B (zh) | 一种自动分层存储方法及系统 | |
TWI701562B (zh) | 資料庫彈性調度方法以及裝置 | |
CN103392167A (zh) | 分布式存储系统的缓存方法、节点和计算机可读介质 | |
JP2007058637A (ja) | ストレージシステム、管理計算機及びデータ移動方法 | |
US20240061712A1 (en) | Method, apparatus, and system for creating training task on ai training platform, and medium | |
CN106534308A (zh) | 一种分布式存储系统中解决数据块访问热点的方法及装置 | |
CN107409142A (zh) | 存储受约束的共享内容项同步 | |
CN105095495A (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN111159140A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114048186A (zh) | 一种基于海量数据的数据迁移方法及系统 | |
KR20170045928A (ko) | 인메모리 데이터베이스를 이용한 데이터 관리 방법 및 그 장치 | |
US7792966B2 (en) | Zone control weights | |
CN108243228B (zh) | 用于数据调度的方法和智能伺服集群 | |
CN102970349B (zh) | 一种dht网络的存储负载均衡方法 | |
CN108132759B (zh) | 一种文件系统中管理数据的方法和装置 | |
CN114416677A (zh) | 一种冷存储数据的更新方法、装置、设备及存储介质 | |
Irie et al. | A novel automated tiered storage architecture for achieving both cost saving and qoe | |
JP2014229235A (ja) | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム | |
JP5692355B2 (ja) | コンピュータシステム、制御システム、制御方法および制御プログラム | |
US11010410B1 (en) | Processing data groupings belonging to data grouping containers | |
CN105528303B (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 |