一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于HDD磁盘压力的智能流控方法及系统与流程

2021-11-05 22:37:00 来源:中国专利 TAG:

一种基于hdd磁盘压力的智能流控方法及系统
技术领域
1.本发明涉及分布式存储系统领域,具体涉及一种基于hdd磁盘压力的智能流控方法及系统。


背景技术:

2.在当前大数据的时代,数据的收集、传输及存储面临诸多挑战;面对海量数据,要求高效的、一致性的存储已成为当前各类业务系统的迫切需求。作为各类存储系统中数据最终的存储介质,hdd磁盘的稳定性及压力对存储系统的高效及稳定运行已构成了挑战。
3.在存储系统中,磁盘故障及磁盘压力已是一个常态化的现象,如何在这种“特殊”的常态化情况下做好流量控制,以支撑整个系统的高性能存储变的至关重要。
4.在存储系统中通常会使用ssd进行缓存加速,而ssd中的数据最终会下刷到hdd中进行持久保存。这种下刷方式,没有考虑到hdd自身的压力,在hdd压力大的情况下,也会从ssd到hdd进行数据存储,这对存储系统的稳定性及高性能造成极大的影响。


技术实现要素:

5.本发明实施例中提供了一种基于hdd磁盘压力的智能流控方法及系统,缓存向hdd中下刷数据的过程,会受到hdd本身压力的影响,即hdd压力大时会降低下刷速度,hdd压力小时加快下刷,实现对缓存系统的下刷过程进行智能的流量控制,从而使存储系统稳定性及高性能得到保障。
6.本发明实施例公开了如下技术方案:
7.本发明第一方面提供了一种基于hdd磁盘压力的智能流控方法,包括:
8.系统启动后,将检测周期和压力值阈值读取到内存;
9.对hdd磁盘的压力数据进行收集和分析;
10.结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位;
11.启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。
12.进一步地,所述系统启动后,将检测周期和压力值阈值读取到内存时,系统还要创建下刷线程。
13.进一步地,所述对hdd磁盘的压力数据进行收集和分析,具体为:
14.在检测周期内,对hdd磁盘的压力数据进行收集;
15.在检测周期结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。
16.进一步地,所述对hdd磁盘的压力数据的收集通过数据的读写io时延实现。
17.进一步地,所述结合分析后hdd磁盘的压力数据和压力值阈值,对hdd磁盘设置压力标志位,具体为:
18.结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;
19.若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
20.进一步地,所述启动下刷线程前,系统对hdd磁盘的压力标志位进行检测。
21.进一步地,所述启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控,具体为:
22.启动下刷线程;
23.若hdd磁盘设置了压力标志位,则中断本次下刷;
24.若hdd磁盘清除了压力标志位,则开启本轮数据下刷。
25.进一步地,所述下刷线程按照下刷周期进行周期性的启动,本轮数据下刷完成后,等待下一个下刷周期启动。
26.本发明第二方面提供了一种基于hdd磁盘压力的智能流控系统,包括:
27.内存读取单元,用于读取检测周期和压力值阈值;
28.压力数据分析单元,用于对hdd磁盘的压力数据进行收集和分析,结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位;
29.下刷线程单元,用于创建和启动下刷线程;
30.压力数据流控单元,启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。
31.进一步地,所述下刷线程单元包括:
32.下刷线程创建子单元,系统启动后,用于创建下刷线程;
33.下刷线程启动子单元,用于启动下刷线程。
34.进一步地,所述压力数据分析单元包括:
35.压力数据收集子单元,系统启动后,在检测周期内对hdd磁盘的压力数据进行收集;
36.压力数据分析子单元,在检测周期结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析;
37.压力数据设置子单元,结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位。
38.进一步地,所述对hdd磁盘的压力数据的收集通过数据的读写io时延实现。
39.进一步地,所述压力数据设置子单元设置压力标志位,具体为:
40.结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;
41.若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
42.进一步地,所述启动下刷线程前,系统对hdd磁盘的压力标志位进行检测。
43.进一步地,所述压力数据流控单元,启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控,具体为:
44.启动下刷线程;
45.若hdd磁盘设置了压力标志位,则中断本次下刷;
46.若hdd磁盘清除了压力标志位,则开启本轮数据下刷。
47.进一步地,所述下刷线程按照下刷周期进行周期性的启动,本轮数据下刷完成后,等待下一个下刷周期启动。
48.发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述
技术方案中的一个技术方案具有如下优点或有益效果:
49.(1)本发明提供的基于hdd磁盘压力的智能流控方法,系统启动后,在检测周期内,对hdd磁盘的压力数据进行收集,在检测周期结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析;结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力,若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志位,则开启本轮数据下刷,以此实现智能流量控制。本发明所述方法与未能实现磁盘压力检测的情况对比,提升了存储系统的稳定性,保证了存储系统的稳定运行。
50.(2)本发明所述方法对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,对io时延的统计达到了对hdd磁盘的压力的监控。
51.(3)本发明提供的基于hdd磁盘压力的智能流控系统,系统启动后,压力数据收集子单元在检测周期内对hdd磁盘的压力数据进行收集。在检测周期结束时,压力数据分析子单元,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。压力数据设置子单元结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。启动下刷线程后,压力数据流控单元根据hdd磁盘的压力标志位对缓存中的数据进行智能流控:若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志位,则开启本轮数据下刷,以此实现智能流量控制。本发明所述系统与未能实现磁盘压力检测的情况对比,提升了存储系统的稳定性,保证了存储系统的稳定运行。
52.(4)本发明所述系统对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,对io时延的统计达到了对hdd磁盘的压力的监控。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1为本发明所述方法流程图;
55.图2为本发明实施例一所述方法流程图;
56.图3为本发明所述系统结构框图。
具体实施方式
57.为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
58.当前在分布式存储系统中,一般将用户读写数据首先保存在缓存数据盘ssd(ssd,
solid state disk/drive,固态驱动器/固态硬盘/固态盘)中,然后随着数据访问频率及缓存数据盘ssd水位的变化,会将部分数据从cache高性能存储介质中flush(flush,下刷)到性能相对较低的存储介质hdd(hdd,hard disk drive,硬盘驱动器/磁盘)中,采用这种方式来提升集群的读写性能。
59.在存储系统中通常会使用ssd进行缓存加速,而ssd中的数据最终会下刷到hdd磁盘中进行持久保存。ssd向hdd磁盘中下刷数据的过程,会受到hdd磁盘本身压力的影响,即hdd磁盘压力大时会降低下刷速度,hdd磁盘压力小时加快下刷。
60.本发明即是通过判定hdd磁盘压力,来对下刷速率进行智能流控。通过设置合理的检测周期及压力值阈值,使用压力决策算法对收集到的hdd磁盘压力数据做统计分析,得出hdd磁盘的压力数据,当感知到hdd磁盘的压力数据超过压力值阈值时,即认为hdd磁盘已产生压力,对应的会降低缓存层的数据flush流速,降低为磁盘引入新压力的速度,进而保障存储系统的稳定性。
61.为保障压力检测的通用性和可行性,hdd磁盘压力数据并不是直接从hdd磁盘本身获取,而是将hdd磁盘压力数据等效为数据读写io时延,通过对io时延的统计达到对hdd磁盘压力的监控。
62.本发明中的hdd磁盘压力检测方法,将压力标志参与到数据flush过程的决策中,能为磁盘减少新压力的引入,从而达到智能流控的目的,提高存储系统的稳定性。
63.如图1所示,为本发明所述方法流程图,所述方法包括:
64.系统启动后,将检测周期cycle和压力值阈值threshold读取到内存;
65.对hdd磁盘的压力数据进行收集和分析;
66.结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位;
67.启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。
68.通过周期性的对存储系统中hdd磁盘的压力数据进行统计分析,以判定当前hdd磁盘是否处于压力大的状态,进而对缓存中的数据flush过程进行流量控制,确保整个存储系统的高效稳定。
69.实施例一
70.如图2所示,为本发明实施例一所述方法流程图。
71.系统启动后,将检测周期cycle和压力值阈值读取到内存时,系统还要创建下刷线程。
72.对hdd磁盘的压力数据进行收集和分析,具体为:
73.在检测周期cycle内,对hdd磁盘的压力数据进行收集;
74.在检测周期cycle结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。
75.对hdd磁盘的压力数据的收集通过数据的读写io(io,input/output输入输出)时延实现。对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,这样对io时延的统计达到了对hdd磁盘的压力的监控。
76.结合分析后hdd磁盘的压力数据和压力值阈值,对hdd磁盘设置压力标志位,具体为:
77.结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;
78.若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
79.系统启动后,压力数据收集子单元在检测周期内对hdd磁盘的压力数据进行收集。在检测周期结束时,压力数据分析子单元,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。压力数据设置子单元结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
80.启动下刷线程前,系统对hdd磁盘的压力标志位进行检测。
81.启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控,具体为:
82.启动下刷线程;
83.若hdd磁盘设置了压力标志位,则中断本次下刷;
84.若hdd磁盘清除了压力标志位,则开启本轮数据下刷。
85.启动下刷线程后,压力数据流控单元根据hdd磁盘的压力标志位对缓存中的数据进行智能流控:若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志位,则开启本轮数据下刷,以此实现智能流量控制。
86.下刷线程按照下刷周期进行周期性的启动,本轮数据下刷完成后,等待下一个下刷周期启动。
87.在实际执行下刷前会检测磁盘压力标志位,当压力标志位标识hdd磁盘处于压力大的状态时,中断本次下刷过程;若当前hdd磁盘压力正常,则正常执行本次数据下刷。
88.本发明提供的基于hdd磁盘压力的智能流控方法,系统启动后,在检测周期内,对hdd磁盘的压力数据进行收集,在检测周期结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析;结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力,若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志位,则开启本轮数据下刷,以此实现智能流量控制。本发明所述方法与未能实现磁盘压力检测的情况对比,提升了存储系统的稳定性,保证了存储系统的稳定运行。
89.本发明所述方法对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,对io时延的统计达到了对hdd磁盘的压力的监控。
90.实施例二
91.如图3所示,为本发明所述系统结构框图,所述系统包括:
92.内存读取单元,用于读取检测周期cycle和压力值阈值;
93.压力数据分析单元,用于对hdd磁盘的压力数据进行收集和分析,结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位;
94.下刷线程单元,用于创建和启动下刷线程;
95.压力数据流控单元,启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控。
96.下刷线程单元包括:
97.下刷线程创建子单元,系统启动后,用于创建下刷线程;
98.下刷线程启动子单元,用于启动下刷线程。
99.压力数据分析单元包括:
100.压力数据收集子单元,系统启动后,在检测周期cycle内对hdd磁盘的压力数据进行收集;
101.压力数据分析子单元,在检测周期cycle结束时,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析;
102.压力数据设置子单元,结合分析后的hdd磁盘压力数据和压力值阈值,对hdd磁盘设置压力标志位。
103.对hdd磁盘的压力数据的收集通过数据的读写io(io,input/output输入输出)时延实现。对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,这样对io时延的统计达到了对hdd磁盘的压力的监控。
104.压力数据设置子单元设置压力标志位,具体为:
105.结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;
106.若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
107.系统启动后,压力数据收集子单元在检测周期内对hdd磁盘的压力数据进行收集。在检测周期结束时,压力数据分析子单元,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。压力数据设置子单元结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。
108.启动下刷线程前,系统对hdd磁盘的压力标志位进行检测。
109.压力数据流控单元,启动下刷线程后,根据hdd磁盘的压力标志位对缓存中的数据进行智能流控,具体为:
110.启动下刷线程;
111.若hdd磁盘设置了压力标志位,则中断本次下刷;
112.若hdd磁盘清除了压力标志位,则开启本轮数据下刷。
113.启动下刷线程后,压力数据流控单元根据hdd磁盘的压力标志位对缓存中的数据进行智能流控:若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志位,则开启本轮数据下刷,以此实现智能流量控制。
114.下刷线程按照下刷周期进行周期性的启动,本轮数据下刷完成后,等待下一个下刷周期启动。
115.本发明提供的基于hdd磁盘压力的智能流控系统,系统启动后,压力数据收集子单元在检测周期内对hdd磁盘的压力数据进行收集。在检测周期结束时,压力数据分析子单元,将收集到的hdd磁盘的压力数据输入压力决策算法进行分析。压力数据设置子单元结合分析后的hdd磁盘压力数据和压力值阈值,判断当前hdd磁盘是否存在压力;若hdd磁盘存在压力,则对hdd磁盘设置压力标志位,否则,对hdd磁盘清除压力标志位。启动下刷线程后,压力数据流控单元根据hdd磁盘的压力标志位对缓存中的数据进行智能流控:若hdd磁盘设置了压力标志位,则中断本次下刷,减少为hdd磁盘引入新的压力,若hdd磁盘清除了压力标志
位,则开启本轮数据下刷,以此实现智能流量控制。本发明所述系统与未能实现磁盘压力检测的情况对比,提升了存储系统的稳定性,保证了存储系统的稳定运行。
116.本发明所述系统对hdd磁盘的压力数据的收集,不直接从hdd磁盘本身获取,而是通过数据的读写io时延实现,对io时延的统计达到了对hdd磁盘的压力的监控。
117.以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献