一种基于分层存储的数据调度方法、系统及电子设备与流程

文档序号:27005245发布日期:2021-10-19 22:35阅读:204来源:国知局
一种基于分层存储的数据调度方法、系统及电子设备与流程

1.本发明涉及数据存储技术领域,尤其涉及一种基于分层存储的数据调度方法、系统及电子设备。


背景技术:

2.分层存储(tiered storage)是一种让数据在不同存储层次间进行迁移管理的技术,分层存储在提供所需性能的同时还能节约更多的成本。在所有数据中,访问频率较高的数据存放于高性能的存储层,而其他大部分数据存放于性能较低但是容量大且价格低廉的存储层,用户不需要知道数据存放在哪里,系统会自动检索出数据。从存储介质的物理结构来看,分层存储最新的发展是机械硬盘和闪存的结合。存储系统中的分层存储即将访问频率较高的热点数据存放在高读/写性能存储层,例如ssd存储层,而将访问频率较低的冷数据存放在低速率等低读/写性能的存储层,例如hdd存储层上。
3.参图1与图2所示,基于分层存储所组件的系统、软件或者包含软件的系统,通常以固定的周期收集和学习工作负载(workload)。emc的fastvp通过定期将最活跃数据重新定位到最上层存储,其使用的是固定周期并不考虑工作负载的统计数据;dell的data progression每天在固定时间运行一次,且不考虑工作负载;ibm的存储产品采用的方式是在多个固定周期内采集的ema(exponential moving average)值判断该区段是否具有足够的负载压力,是否适合迁移热数据。ema是一种无限脉冲响应滤波器,它采用指数衰减的加权因子。
4.申请人指出上述基于工作负载表征分层存储的存储开销及状态的现有技术由于存在“长尾效应”,从而无法及时并准确地反映出分层存储对待调度数据所形成的真实的工作负载的峰值,由此导致采用分层存储的存储装置所具有的存储能力无法被有效地发挥与利用,并整体导致采用分层存储的存储装置及包含该存储装置的计算机系统iops性能及吞吐能力的下降。此外,以固定的周期收集和学习工作负载(workload)的技术手段在面临突发性的高负荷场景中会导致无法满足基于特定访问请求所需要的数据读写能力,从而造成部署分层存储的投资造成浪费,过大(或者性能更强)或者过小(或者性能更弱)的分层存储均会导致投资成本过大及投资浪费的问题。
5.有鉴于此,有必要对现有技术中基于分层存储的数据调度方法予以改进,以解决上述问题。


技术实现要素:

6.本发明的目的在于揭示一种基于分层存储的数据调度方法、系统及电子设备,用以解决现有技术中基于分层存储中数据调度过程中所存在的上述缺陷,尤其是为了降低分层存储的部署及维护成本,降低待调度数据在分层存储中的读/写成本,并充分发挥组成分层存储的不同读/写性能的存储装置在数据调度过程中的优势,以提高对待调度数据的调度效果,以合理利用分层存储中具有不同读/写性能的存储介质所形成的存储空间。
7.为实现上述目的之一,本发明提供了一种基于分层存储的数据调度方法,包括:
8.s1、采集分层存储的历史工作负载数据,并基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期;
9.s2、根据所述工作负载周期为分层存储在预设周期内动态设定与工作负载周期匹配的工作负载模式;
10.s3、对待调度数据在预设周期内根据所述工作负载模式设定迁移优先级,以根据所述迁移优先级将所述待调度数据调度至组成分层存储的不同读/写性能的存储器群中的至少一个存储介质。
11.作为本发明的进一步改进,所述步骤s1具体包括以下步骤:
12.s11、采集分层存储的历史工作负载数据并执行平滑处理;
13.s12、对平滑处理后的历史工作负载数据执行自相关计算;
14.s13、对自相关计算后的历史工作负载数据使用快速傅里叶变换计算得到与历史工作负载数据所对应的功率谱密度函数;
15.s14、选取并计算功率谱密度函数所包含的若干显著频率点的最小公倍数,以确定分层存储对历史工作负载数据所具有的工作负载周期。
16.作为本发明的进一步改进,所述步骤s2具体包括以下步骤:
17.s21、对分层存储处理待调度数据进行预判;
18.s22、向分层存储下发配置若干qos阈值的策略,通过若干qos阈值将工作负载周期划分为至少两个具有不同工作负载的周期段,并输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式。
19.作为本发明的进一步改进,所述步骤s22中,输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式后,还包括:将每个周期段与组成分层存储的不同读/写性能的存储器群关联。
20.作为本发明的进一步改进,所述步骤s3中对待调度数据在预设周期内根据所述工作负载模式设定迁移优先级后,还包括:生成至少一个操作列表并对所述操作列表作可视化展示,所述操作列表与所述待调度数据的迁移优先级关联;
21.所述操作列表包括热数据列表、温数据列表与冷数据列表中的一种或者几种。
22.作为本发明的进一步改进,所述存储器群包括:具有高读/写性能的第一存储器群,具有中读/写性能的第二存储器群及具有低读/写性能的第三存储器群;
23.所述第一存储器群由寄存器、高速缓存或主存储器中的一种或者几种组成,所述第二存储器群由若干slc固态硬盘组成,所述第三存储器群由mlc固态硬盘、tlc固态硬盘、机械硬盘、磁带存储器、raid0~raid6或者光盘存储器中的一种或者几种组成。
24.作为本发明的进一步改进,所述步骤s3中在生成操作列表后,还包括:检测组成分层存储的第一存储器群、第二存储器群及第三存储器群的当前工作负载,以将与迁移优先级所对应的待调度数据按照迁移优先级从高到低的顺序调度至组成分层存储的第一存储器群、第二存储器群及第三存储器群中。
25.作为本发明的进一步改进,所述步骤s3中在生成操作列表后,还包括:检测组成第一存储器群、第二存储器群及第三存储器群中分别所包含的单个存储介质的当前工作负载,以将具有相同的迁移优先级的待调度数据调度至同一存储器群中相对工作负载较轻的
一个或者多个存储介质中。
26.作为本发明的进一步改进,所述步骤s3还包括:将待调度数据执行区分为冷数据、温数据与热数据的操作,并优先执行对热数据执行调度至第一存储器群的操作,并在全部热数据被执行调度操作完毕后,生成热数据被执行调度操作的优化时间段,以将所述优化时间段与迁移优先级绑定,并在预设周期排除所述优化时间段内对温数据及冷数据执行迁移操作。
27.基于相同发明思想,本发明还揭示了一种基于分层存储的数据调度系统,包括:
28.分层存储控制器,挂载至所述分层存储控制器的存储集群,以及功率谱密度函数检测模块;
29.所述分层存储控制器部署工作负载计算模块;
30.所述功率谱密度函数检测模块采集分层存储的历史工作负载数据,并基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期;
31.所述工作负载计算模块在预设周期内为分层存储动态设定与工作负载周期匹配的工作负载模式,并对待调度数据在预设周期内根据所述工作负载模式设定迁移优先级,以根据所述迁移优先级将所述待调度数据调度至组成分层存储的不同读/写性能的存储器群中的至少一个存储介质。
32.作为本发明的进一步改进,所述分层存储控制器包括:工作负载计算模块,采集模块,工作负载模式请求模块及优化策略转发模块;
33.所述采集模块采集分层存储的历史工作负载数据;
34.所述工作负载模式请求模块接向所述功率谱密度函数检测模块发起执行基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期的请求,并接收自功率谱密度函数检测模块所包含的功率谱密度函数运算逻辑生成的工作负载周期;
35.所述优化策略转发模块优化策略转发模块自所述工作负载计算模块调用在预设周期内为分层存储动态设定与工作负载周期匹配的工作负载模式并转发至所述存储集群。
36.作为本发明的进一步改进,所述功率谱密度函数检测模块包括:
37.平滑运算模块,对分层存储的历史工作负载数据执行平滑处理;
38.快速傅里叶变换模块,对平滑处理后的历史工作负载数据执行自相关计算后使用快速傅里叶变换计算得到与历史工作负载数据所对应的功率谱密度函数;
39.频率点选择模块,选取并计算功率谱密度函数所包含的若干显著频率点的最小公倍数,以确定分层存储对历史工作负载数据所具有的工作负载周期;
40.工作负载周期调整模块,通过功率谱密度函数运算逻辑对分层存储处理待调度数据进行预判,向分层存储下发配置若干qos阈值的策略,通过若干qos阈值将工作负载周期划分为至少两个具有不同工作负载的周期段,并向工作负载模式请求模块输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式。
41.作为本发明的进一步改进,所述功率谱密度函数检测模块部署于逻辑上独立于所述分层存储控制器的逻辑运算装置,所述逻辑运算装置运行功率谱密度函数运算逻辑。
42.最后,基于前述相同发明思想,本发明还揭示了一种电子设备,包括:
43.处理器,由至少一个存储单元组成的存储装置,以及
44.在处理器与存储装置之间建立通信连接的通信总线;
45.所述处理器用于执行存储装置中存储的一个或者多个程序,以实现如上述任一项发明创造所揭示的一种基于分层存储的数据调度方法。
46.与现有技术相比,本发明的有益效果是:
47.在本发明中,通过运行功率谱密度函数运算逻辑的功率谱密度函数检测模块对分层存储对工作负载历史数据进行分析,得到工作负载的周期和模式,根据其周期和模式对待调度数据工作负载进行预判,以为合理设置若干qos阈值提供准确且提前的决策,从而更好地引导待调度数据根据分层存储的性能引导待调度数据合理地迁移至分层存储的不同读/写性能的存储器群中的至少一个存储介质,从而充分发挥了分层存储的存储性能,并降低了分层存储及包含该分层存储的系统或者软件的部署成本。
附图说明
48.图1为现有技术中采用固定周期采集分层存储的在一定周期内的io统计数据以计算ema值的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
49.图2为图1所示出的现有技术在面临离散的高iops读写场景中出现长尾效应的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
50.图3为本发明一种基于分层存储的数据调度方法的整体流程图;
51.图4为历史工作负载数据的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
52.图5为图4所示出的历史工作负载数据经过平滑处理后的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
53.图6为对图5中历史工作负载数据经过平滑处理后的数据执行快速傅里叶变换(fft)的示意图;
54.图7为选取并计算功率谱密度函数所包含的若干显著频率点的最小公倍数以确定分层存储对历史工作负载数据所具有的工作负载周期的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
55.图8为包含利用功率谱密度函数检测分层存储装置的工作负载周期及工作负载模式的拓扑图;
56.图9为对历史工作负载数据在预设周期内由功率谱密度函数检测模块所输出的工作负载模式的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
57.图10为发明一种基于分层存储的数据调度系统的拓扑图;
58.图11为向存储集群下发配置第一qos阈值的策略的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
59.图12为通过图11中所设定的第一qos阈值将在一定周期内将工作负载周期(recognized pattern)划分为两个具有不同工作负载周期(即高工作负载周期与低工作负载周期)的周期段的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
60.图13为包含本发明一种基于分层存储的数据调度系统的计算机设备在一种实施例中的拓扑图;
61.图14为包含本发明一种基于分层存储的数据调度系统的计算机设备在另一种实施例中的拓扑图;
62.图15为工作负载计算模块所输出的两个操作列表(即冷数据列表241与热数据列表243)的示意图;
63.图16为向存储集群下发配置第一qos阈值与第二qos阈值,以将整个工作负载周期(recognized pattern)划分为三个具有不同工作负载周期的周期段(即高工作负载周期、中工作负载周期与低工作负载周期)的示意图,横坐标为时间单位,纵坐标为工作负载的指数;
64.图17为工作负载计算模块所输出的三个操作列表(即冷数据列表241、温数据列表242与热数据列表243)的示意图;
65.图18为本发明一种电子设备的拓扑图。
具体实施方式
66.下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
67.在详细阐述本技术各个实施例之前,对涉及的主要技术术语的含义予以必要定义与解释。
68.术语“热数据”、“温数据”及“冷数据”根据数据被访问的频率进行划分,热数据的被访问的频率高于温数据,温数据的访问频率高于冷数据。通常的,热数据。这类数据需要较高级别的分层存储,因为它经常用于crm、erp甚至电子邮件等应用,并且需要用于企业的日常运行。在此类存储层中,性能很重要,但是成本也是一个考虑因素。
69.温数据,此类包括较早的数据,如超过几天的电子邮件或已完成事务的数据。这类数据的访问频率相对较低,但仍然要保证在需要时可以访问。在这个存储层中,最重要的考虑因素是成本,但是受制于最低的性能阈值。
70.冷数据,这类数据可能永远不会再被访问(或者偶尔需要被访问),但需要将其存档并保留,以符合监管或其他法律要求,或者只是因为它可能在未来某个不确定的时间具有某种价值——可能用于大数据分析。理想情况下,冷数据适合于可接受分钟或小时访问时间的最低层次的分层存储,而低成本是最重要的考虑因素。
71.术语“待调度数据”可包括基于分布式系统或者数据中心中所部署的各个功能性节点(例如存储节点、计算节点、服务器等)之间被执行写(write)或者读(read)等操作所对于的数据。各实施例中的待调度数据泛指需要被执行访问、迁移或者从外部装置,例如独立于分层存储(装置)的计算机或者服务器或者数据中心等。
72.术语“通信信道”是指数据传输的通路,通信信道包括但不限于各种物理总线、虚拟总线或者各种数据/报文的广播协议及单播协议等。
73.实施例一:
74.分层存储(tiered storage),也称为“层级存储管理”(hierarchical storage management)。分层存储是将数据存储在不同层级的存储介质中,并在不同的介质之间进行自动或者手动的数据迁移,复制等操作。分层存储也是信息生命周期管理的一个具体应用和实现。
75.本实施例所示的一种基于分层存储的数据调度方法,旨在揭示基于分层存储或者
图10(或者图13或者图14)所示出的分层存储装置20(20a)中具有不同读/写性能的存储器群对冷数据与热数据的执行数据调度的操作。
76.参图3所示,在本实施例中,该基于分层存储的数据调度方法(以下简称“数据调度方法”),包括以下步骤s1~步骤s3。
77.该数据调度方法运行于图10所示出的一种基于分层存储的数据调度系统中。分层存储装置20包括分层存储控制器21及受控于分层存储控制器21的存储集群30,存储集群30包含一个或者多个存储器群,每一个存储器群可包含至少一个存储介质。
78.在本实施例中,存储集群30包括:具有高读/写性能的第一存储器群301,具有中读/写性能的第二存储器群302及具有低读/写性能的第三存储器群303。第一存储器群301由寄存器、高速缓存(例如英特尔傲腾存储器)或主存储器(如通过dma控制器直接被cpu访问的dma直接存储器或者ramdisk)中的一种或者几种组成,因此组成第一存储器群301中的存储介质优选为容量相对较小但性能非常高的存储介质。第二存储器群302由若干slc固态硬盘组成,组成第二存储器群中的存储介质优选为容量相对较大性能相对较高(性能低于第一存储器群301的存储介质的性能)的存储介质。第三存储器群303由mlc固态硬盘、tlc固态硬盘、机械硬盘、磁带存储器、raid0~raid6或者光盘存储器中的一种或者几种组成,组成第三存储器群中的存储介质优选为容量相对最大性能相对较低的存储介质。存储集群30中可包含一种或者几种不同性能的存储器群,并至少部署用于保存热数据的第一存储器群301。在本技术中,根据各个存储器群中存储介质的性能高低被划分为两个或者三个存储器群,且所谓性能是指存储介质的读性能、写性能、存取时间(tm)、主存带宽(bm)的一种或者几种评价指标,并优选依据存取时间予以评价。存取时间是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。
79.第一存储器群301用于存储热数据(hot data),以满足诸如被计算节点频繁访问的数据(比如在线类数据)所需要具有的高速及低时延的高性能存储需求。第二存储器群302用于存储温数据(warm data),以满足诸如被计算节点访问频率相对较低的数据(比如近期活跃应用、近期活跃数据等具有一定时效性的行为数据,即非即时的状态和行为数据)所需要具有的中速及中时延的高性能存储需求。第三存储器群303用于存储冷数据(cold data),以满足诸如被计算节点偶尔访问的数据(比如企业备份数据、业务与操作日志数据、话单与统计数据等离线类不经常访问的数据)所需要具有的低速及高时延的低性能存储需求。需要说明的是,热数据、温数据及冷数据仅仅是一个相对值,通常是按照数据被访问的频次及时延程度予以划分,对三种类型的数据在分层存储(分层存储装置20)的存储集群30中通过不同读/写性能的存储介质予以保存,以满足用户发起访问请求后对三种数据(或者两种数据)在调度过程中的性能需求。热数据、温数据与冷数据分别被保存至高性能的第一存储器群301、中性能的第二存储器群302与低性能的第三存储器群303。
80.首先,执行步骤s1、采集分层存储的历史工作负载数据,并基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期。
81.结合图4~图8所示,步骤s1具体包括以下步骤s11~步骤s14。
82.步骤s11由图8中的平滑运算模块101执行,采集分层存储的历史工作负载数据并执行平滑处理。历史工作负载数据即图8中的raw io statistics,并从分层存储装置20的
存储集群30通过采集模块22予以持续获取。存储集群30中不同性能的存储介质被确定后其在过去一段时间段内形成的raw workload data形成图4所示出的状态。在图4中历史工作负载数据(raw workload data)形成不规则的毛刺。通过步骤s11的平滑处理后形成了图5中的smoothed workload data。平滑处理滤除raw workload data信号的毛刺,并通过下述式(1)简要阐述。平滑处理中可以指定一个平滑窗口n来定义平滑处理基于时序的窗口大小。
83.x(i)_after_smooth=[x(i

n)+x(i

n+1)+

+x(i+n)]/(2n+1)
ꢀꢀꢀ
式(1);
[0084]
式(1)中,通过2n+1的平滑窗口内取信号(即历史工作负载数据所形成的信号)的平均值,参数x是指信号,在i这个时刻点前后时间长度为n的窗口内取均值,参数n是时间序列上的一个指定长度。
[0085]
自分层存储装置20采集得到的历史工作负载数据由分层存储控制器21向功率谱密度函数检测模块10中持续地转发。分层存储装置20在本技术各实施例中与“分层存储”具等同技术含义。
[0086]
步骤s12由图8中的平滑运算模块101执行,对平滑处理后的历史工作负载数据执行自相关计算。自相关计算通过现有技术中成熟的自相关函数运算得到。自相关函数计算信号在时域中特性的平均度量。
[0087]
步骤s13由图8中的快速傅里叶变换模块102执行,对自相关计算后的历史工作负载数据使用快速傅里叶变换(fast fourier transform,fft)计算得到与历史工作负载数据所对应的功率谱密度函数。功率谱密度函数(power spectral density function,psdf)基于自相关计算并经过fft计算确定,经过fft计算得psdf参图6所示。鉴于上述过程是现有技术,在此不再赘述。图6中psdf为频域分析,其周期为1400分钟,而图7为时域分析。频域分析包含正弦波,而正弦波是对频域的描述,频域分析是把信号变为频率轴为坐标表示出来,时域分析是以时间轴为坐标,表示动态信号的关系。因此,图6中功率谱密度函数psdf的横坐标所记录的时间轴是图7中时域信号的横坐标所记录的时间轴的两倍。
[0088]
步骤s14由图8中的频率点选择模块103执行,选取并计算功率谱密度函数所包含的若干显著频率点(f1,f2
……
fn)的最小公倍数(f),以确定分层存储对历史工作负载数据所具有的工作负载周期。工作负载周期t=1/f。图7中相邻两个峰值之间的竖线为recognized signal period(共七个)。filtered workload表示去噪后的历史工作负载数据。通过filtered workload以获得图9所示出的对历史工作负载数据在预设周期(一个周期,1400分钟)内由功率谱密度函数检测模块10所输出的工作负载模式。
[0089]
在识别出分层存储装置20中的存储集群30基于历史工作负载数据的工作负载周期后就可以在确定的检测周期内确定工作负载模式(pattern)。功率谱密度函数检测模块10向分层存储控制器21反馈调整后的工作负载周期及工作负载模式,即recognized workload period与recognized workload pattern。
[0090]
尤其的,冷数据与热数据的工作负载模式,且工作负载模式是可以灵活调整的,从而明显区别于现有技术中的类似技术方案。结合图10所示,分层存储控制器21通过工作负载模式请求模块23向功率谱密度函数检测模块10发起执行基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期的请求,且前述请求可根据存储集群30中的不同性能的存储介质对各种类型数据读写情况予以修正,通过对功率谱密度函数检测模块10发起修
改请求,以动态调整工作负载模式(workload pattern)。功率谱密度函数检测模块10部署于逻辑上独立于分层存储控制器21的逻辑运算装置110,逻辑运算装置110运行功率谱密度函数运算逻辑。逻辑运算装置110可被视为一个数据中心、一个物理(虚拟)服务器、一个云计算平台、一个单片机或者现有技术中任何一种具有执行计算机程序的硬件装置和/或软件系统。分层存储控制器21中保存表项数组,每个表项对应内存中的一个行。每个表项有一个标签(tag)和表示高速缓存行状态的几个标志(flag)。标签由若干位组成,标签让分层存储控制器21能够辨别由这个行当前所映射的内存单元。因此,在本实施例中,通过将功率谱密度函数检测模块10独立部署于逻辑运算装置110,可降低了对分层存储控制器21的设计难度并有助于提高其运行性的可靠性。
[0091]
然后,执行步骤s2、根据工作负载周期为分层存储在预设周期内动态设定与工作负载周期匹配的工作负载模式。该步骤s2具体包括以下步骤:
[0092]
步骤s21、对分层存储处理待调度数据进行预判。预判操作由图10中的分层存储控制器21执行,并进一步可为工作负载计算模块25执行前述预判操作。
[0093]
步骤s22、向分层存储下发配置(具体为向分层存储装置20的存储集群30)一个qos阈值(即第一qos阈值)的策略,通过一个qos阈值将工作负载周期划分为两个具有不同工作负载的周期段,并输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式。通过图10中的分层存储控制器21向存储集群30下发包含第一qos阈值的优化策略,以通过下发优化策略并利用预设周期内动态设定与工作负载周期匹配的工作负载模式对待调度数据合理安排写入对应的存储器群中,避免热数据写入读/写性能相对较低的第二存储器群302和/或第三存储器群303中,或者避免将冷数据写入读/写性能最高的第一存储器群301中,以优化对热数据与冷数据(即前述待调度数据)的合理调度。同时,本实施例中的“调度”可被理解为写入存储集群30中一个或者多个存储介质或者从存储集群30的有一个或者多个存储介质中读取或者删除或者修改等数据操作。
[0094]
结合图8与图9所示,功率谱密度函数检测模块10中的工作负载周期调整模块104输出的recognized workload period and pattern后,形成图9所示出的工作负载模式(recognized pattern或者recognized workload pattern),该工作负载模式是对待调度数据的预测结果。结合图11与图12所示,当向存储集群30下发包含第一qos阈值的优化策略后,将工作负载模式划分为三个周期段,即图12中的两个低工作负载周期与一个高工作负载周期。在低工作负载周期执行对冷数据的调度操作,在高工作负载周期执行对热数据的调度操作。
[0095]
步骤s22中,输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式后,还包括:将每个周期段与组成分层存储的不同读/写性能的存储器群(即第一存储器群301、第二存储器群302或者第三存储器群303中的一个或者全部)关联。低工作负载周期与第三存储器群303关联,高工作负载周期与第一存储器群301关联。
[0096]
最后,执行步骤s3、对待调度数据在预设周期内根据工作负载模式设定迁移优先级,以根据迁移优先级将待调度数据调度至组成分层存储的不同读/写性能的存储器群中的至少一个存储介质。优选的,结合图15所示,在本实施例中,步骤s3中对待调度数据在预设周期内根据工作负载模式设定迁移优先级后,还包括:生成三个操作列表并对操作列表作可视化展示,操作列表与待调度数据的迁移优先级关联。操作列表包括冷数据列表241与
热数据列表243,甚至仅包含温数据列表242。
[0097]
操作列表通过读写控制器40、总线与host60电连,host60可被配置为具ui界面的虚拟装置(云主机)或者物理装置(带显示器的物理计算机)向用户予以展示。结合图13与图14所示,虚拟化集群100中的逻辑底层部署该分层存储装置20,虚拟化集群100的总线挂载一个或者多个处理器70,用户以本地登录或者远程登录host60的方式,对待调度数据执行相应的调度操作。
[0098]
所有待调度数据(包含冷数据与热数据)被加载区别性的工作负载模式,以匹配出适合待调度数据执行调度的时间段。当决定将冷数据及热数据等待调度数据保存至存储集群30中的一个或者多个存储介质时,需要检查整个存储集群30在多个预设周期内的各工作负载模式,并结合优先级合理调配不同数据(即冷数据与热数据)执行迁移操作的先后顺序,在低工作负载周期内优选执行对冷数据的调度操作,并在超过第一qos阈值后停止对冷数据的调度操作并执行对热数据的调度操作。当工作负载模式低于第一qos阈值后,停止对热数据的调度操作并重新开始对冷数据的调度操作,以合理利用存储集群30中第一存储器群301、第二存储器群302及第三存储器群303不同读/写性能,以充分发挥分层存储的存储性能,并降低了分层存储及包含该分层存储的系统或者软件的部署成本。
[0099]
优选的,在本实施例中,步骤s3中在生成操作列表后,还包括:检测组成分层存储的第一存储器群301及第三存储器群303的当前工作负载,以将与迁移优先级所对应的待调度数据按照迁移优先级从高到低的顺序调度至组成分层存储的第一存储器群301及第三存储器群303中。优选的,步骤s3中在生成操作列表后,还包括:检测组成第一存储器群301及第三存储器群303中分别所包含的单个存储介质的当前工作负载,以将具有相同的迁移优先级的待调度数据调度至同一存储器群中相对工作负载较轻的一个或者多个存储介质中。通过上述技术方案,进一步优化了对相同性质的数据(例如同为热数据的多个待调度数据)在被执行调度过程中的操作细腻度,实现了数据在同一层级的存储器群中的合理分布。
[0100]
步骤s3还包括:将待调度数据执行区分为冷数据、温数据与热数据的操作,并优先执行对热数据执行调度至第一存储器群301的操作,并在全部热数据被执行调度操作完毕后,生成热数据被执行调度操作的优化时间段,以将优化时间段与迁移优先级绑定,并在预设周期排除优化时间段内对温数据及冷数据执行迁移操作。由此,至少满足用户访问频次最高的数据的响应能力,进一步降低部署并运行该数据调度方法的分层存储装置20对自用户发起的访问请求的响应能力,以进一步降低了时延。
[0101]
本实施例所揭示的数据调度方法,通过使用检测到的工作负载信号周期,而不是遵循固定的信号周期,可以避免分层存储装置出现i/o流量阻塞,并且可以通过功率谱密度函数检测模块10中包含的所包含的功率谱密度函数运算逻辑更准确地学习训练真实的工作负载周期与工作负载模式。
[0102]
同时,在本实施例中,所有待迁移数据在迁移过程中均将根据工作负载模式和迁移优先级进行规划。工作负载周期和工作负载模式可被用作待迁移数据执行数据迁移的先决性的考量因素,并在周期性高负载出现前(即图11中的recognized pattern与第一qos阈值所形成并位于左侧的第一个交叉点)提前做好优化及调度准备,以满足热数据在被执行调度操作中能够保存至具有高性能低时延的第一存储器群301中。对于含有周期性或者具有瞬间高负载的数据读/写场景中,可充分发挥分层存储装置中所部署的低性能的第三存
储器群303中对冷数据的读写需求,并能避免高负载真正出现时无法将热数据使用高性能的第一存储器群301执行读写操作所导致高时延的缺陷,以充分发挥分层存储装置20中具有不同读/写性能的存储介质对待调度数据的存储优势,从而更好地引导待调度数据根据分层存储的性能引导待调度数据合理地迁移至分层存储的不同读/写性能的存储器群中的至少一个存储介质,并降低该分层存储装置的组建及维护成本。
[0103]
实施例二:
[0104]
参图16与图17所示,本实施例示出了本发明一种基于分层存储的数据调度方法的一种变形实施例。
[0105]
本实施例与实施例一相比,其主要区别在于,步骤s2具体包括以下步骤:步骤s21、对分层存储处理待调度数据进行预判。步骤s22、向分层存储下发配置两个qos阈值(即第一qos阈值与第二qos阈值)的优化策略,通过两个qos阈值将工作负载周期划分为三个具有不同工作负载的周期段,并输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式。本实施例旨在揭示基于分层存储或者图10(或者图13或者图14)所示出的分层存储装置中具有不同读/写性能的存储器群对冷数据、温数据与热数据的调度过程予以详细阐述。
[0106]
通过图10中的分层存储控制器21向存储集群30下发包含第一qos阈值与第二qos阈值的优化策略,第二qos阈值高于第一qos阈值。参图16所示,整个recognized pattern被从左向右被划分为低工作负载周期、中工作负载周期、高工作负载周期、中工作负载周期及低工作负载周期。低工作负载周期内执行对冷数据的调度操作,中工作负载周期内执行对温数据的调度操作,高工作负载周期内执行对热数据的调度操作。高、中、低工作负载周期所形成的四个临界点是第一qos阈值与第二qos阈值与整个recognized pattern所形成的交叉点。
[0107]
参图17所示,在本实施例中,工作负载计算模块25生成的操作列表包括冷数据列表241、温数据列表242与热数据列表243。在本实施例中,步骤s3中在生成操作列表后,还包括:检测组成分层存储的第一存储器群301、第二存储器群302及第三存储器群303的当前工作负载,以将与迁移优先级所对应的待调度数据按照迁移优先级从高到低的顺序调度至组成分层存储的第一存储器群301、第二存储器群302及第三存储器群303中。检测组成第一存储器群301、第二存储器群302及第三存储器群303中分别所包含的单个存储介质的当前工作负载,以将具有相同的迁移优先级的待调度数据调度至同一存储器群中相对工作负载较轻的一个或者多个存储介质中。
[0108]
本实施例与实施例一中具有相同部分的技术方案,请参实施例一所述,在此不再赘述。
[0109]
实施例三:
[0110]
参图13所示,基于实施例一所揭示的基于分层存储的数据调度方法,本实施例还揭示了一种基于分层存储的数据调度系统(以下简称“数据调度系统”)。
[0111]
在本实施例中,一种基于分层存储的数据调度系统,包括:分层存储控制器21,挂载至分层存储控制器的存储集群30,以及功率谱密度函数检测模块10。分层存储控制器21部署工作负载计算模块25。功率谱密度函数检测模块10采集分层存储的历史工作负载数据,并基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期。工作负载计算
模块25在预设周期内为分层存储动态设定与工作负载周期匹配的工作负载模式,并对待调度数据在预设周期内根据工作负载模式设定迁移优先级,以根据迁移优先级将待调度数据调度至组成分层存储的不同读/写性能的存储器群中的至少一个存储介质。
[0112]
功率谱密度函数检测模块10包括:平滑运算模块101,对分层存储的历史工作负载数据执行平滑处理。快速傅里叶变换模块102,对平滑处理后的历史工作负载数据执行自相关计算后使用快速傅里叶变换计算得到与历史工作负载数据所对应的功率谱密度函数。频率点选择模块103,选取并计算功率谱密度函数所包含的若干显著频率点的最小公倍数,以确定分层存储对历史工作负载数据所具有的工作负载周期。工作负载周期调整模块104,通过功率谱密度函数运算逻辑对分层存储处理待调度数据进行预判,向分层存储下发配置若干qos阈值的优化策略,通过若干qos阈值将工作负载周期划分为至少两个具有不同工作负载的周期段,并向工作负载模式请求模块23输出在预设周期内为分层存储动态设定与周期段所匹配的工作负载模式。
[0113]
分层存储控制器21包括:工作负载计算模块25,采集模块22,工作负载模式请求模块23及优化策略转发模块24。采集模块22采集分层存储的历史工作负载数据。采集模块22沿双向箭头222示出的路径采集存储集群30中各个存储器群的历史工作负载数据并发送至功率谱密度函数检测模块10。工作负载模式请求模块23向功率谱密度函数检测模块10发起执行基于历史工作负载数据所对应的功率谱密度函数确定工作负载周期的请求,并接收自功率谱密度函数检测模块10所包含的功率谱密度函数运算逻辑生成的工作负载周期。优化策略转发模块24自工作负载计算模块25调用在预设周期内为分层存储动态设定与工作负载周期匹配的工作负载模式并转发至存储集群30。同时,工作负载计算模块25还生成热数据被执行调度操作的优化时间段并通过优化策略转发模块24转发至存储集群30。同时,生成热数据被执行调度操作的优化时间段以将优化时间段与迁移优先级绑定的操作可由优化策略转发模块24予以执行。
[0114]
功率谱密度函数检测模块10部署于逻辑上独立于分层存储控制器21的逻辑运算装置110,逻辑运算装置110运行功率谱密度函数运算逻辑。同时,逻辑运算装置110逻辑上独立于该分层存储装置20,并通过与采集模块22及工作负载模式请求模块23与逻辑运算装置110通过一个或者多个通信信道连接。工作负载计算模块25与存储集群30之间通过与第一存储器群301、第二存储器群302或者第三存储器群303中的不同存储介质相适配的通信信道予以连接。
[0115]
本实施例所揭示的基于分层存储的数据调度系统运行实施例一和/或实施例二所揭示的数据调度方法,数据调度方法请参实施例一和/或实施例二所示,在此不再赘述。
[0116]
实施例四:
[0117]
参图14所示,本实施例基于实施例三所揭示的数据调度系统的技术方案,还提供了该数据调度系统的一种变形例。
[0118]
本实施例与前述三个实施例相比,尤其是与实施例三相比,其主要区别在于,在本实施例中,运行功率谱密度函数运算逻辑的功率谱密度函数检测模块10整体部署于分层存储装置20a中,并省略配置实施例三所示出的逻辑运算装置110。功率谱密度函数检测模块10可通过restful api接口与读写控制器40建立内部通信信道,以被host60予以控制。用户或者管理员登录host60后可创建或者修改组成功率谱密度函数运算逻辑的计算机代码或
者程序。
[0119]
本实施例与实施例三所具有的相同技术方案,参实施例三所述,在此不再赘述。
[0120]
实施例五:
[0121]
参图18所示,本实施例还揭示了一种电子设备500,其包括:
[0122]
处理器51,由至少一个存储单元组成的存储装置52,以及在处理器51与存储装置52之间建立通信连接的通信总线53。处理器51用于执行存储装置52中存储的一个或者多个程序,以实现如实施例一和/或实施例二所揭示的一种基于分层存储的数据调度方法。
[0123]
具体的,该存储装置52可由存储单元521~存储单元52j所组成,其中,参数j取大于或者等于1的正整数。处理器51可为asic、fpga、cpu、mcu或者其他具有指令处理功能的物理硬件或者虚拟设备。通信总线53的形式并不需要予以具体限定,i2c总线、spi总线、sci总线、pci总线、pci

e总线、isa总线等,并可根据电子设备500的具体类型及应用场景需求予以合理变更。通信总线53并非本技术发明点,故在本技术中不予展开陈述。
[0124]
存储装置52可基于ceph或者glusterfs等分布式文件系统,也可为raid0~raid7磁盘阵列,也可被配置为一块或者多块硬盘或者可移动存储装置、数据库服务器、ssd(solid

state disk)、nas存储系统或者san存储系统组成。该电子设备500可被配置为超融合一体机、计算机、服务器、数据中心、虚拟集群、便携式移动终端、web系统、金融支付平台或者erp系统,以及虚拟在线支付平台/系统等;其中,超融合一体机是一种高性能多节点服务器,主要是分层存储和服务器虚拟化技术,把计算节点、存储资源、网络交换高度集成到一台1u、2u或者4u服务器中,给企业或者终端用户提供超融合基础架构设施,以全面提升企业的it能力。存储装置52可视为包含实施例三和/或实施例四所揭示的数据调度系统的上位概念,或者还可将基于该数据调度系统的一种分层存储装置20(20a)视为存储装置52的一个部分或者全部。
[0125]
尤其的,本实施例所揭示的一种电子设备500可通过实施例一和/或实施例二所揭示的一种基于分层存储的数据调度方法,对基于用户在客户端(例如通过有线或者无线方式向虚拟化集群100中虚拟机(vm)发起的访问请求或者操作所对应的一个任务或者多个并行任务予以可靠响应,尤其是在对实时性及安全性要求非常严苛的场景,例如购物网站的在线支付系统、金融机构的结算系统、电子购票系统等场景中,该电子设备500具有极其重要的技术应用价值。本实施例所揭示的一种电子设备500与实施例一至实施例四所具有相同部分的技术方案,参实施例一至实施例四所示,在此不再赘述。
[0126]
本实施例所揭示的一种电子设备500可被理解为具有物理形态的实体设备(例如pos机、自动取款机),也可被理解为运行有如实施例一和/或实施例二所揭示的一种基于分层存储的数据调度方法的软件系统(财务系统或者erp系统)或者一种互联网在线应用(app软件),甚至可以通过光纤或者网线互联的两台或者多台组成直连拓扑结构或者树形拓扑结构或者星型拓扑结构的计算机系统/数据中心。
[0127]
在本实施例中,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执
行本发明各个实施例所述方法的全部或部分步骤。
[0128]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
[0129]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0130]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1