CN103927134A - 硬盘负载均衡方法、操作系统及存储控制设备 - Google Patents
硬盘负载均衡方法、操作系统及存储控制设备 Download PDFInfo
- Publication number
- CN103927134A CN103927134A CN201410140491.XA CN201410140491A CN103927134A CN 103927134 A CN103927134 A CN 103927134A CN 201410140491 A CN201410140491 A CN 201410140491A CN 103927134 A CN103927134 A CN 103927134A
- Authority
- CN
- China
- Prior art keywords
- data
- hard disk
- reading
- reading times
- operating system
- 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.)
- Pending
Links
Abstract
一种硬盘负载均衡方法、操作系统及存储控制设备。所述方法包括如下步骤:在单位时间内获取每个硬盘内的每个数据的读取次数;将获取的每个硬盘内所有数据的读取次数的总和进行排序;检测是否有硬盘存在所有数据的读写次数的总和发生变化;如果有硬盘的读写次数发生变化,则根据每个硬盘内所有数据的读取次数的总和的排序结果,将发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。本发明可以减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种硬盘负载均衡方法、操作系统及存储控制设备。
背景技术
多硬盘数据存储过程中,通常采用顺序存储或者乱序存储的方式进行数据存储,这两种方式会导致多个硬盘中每个硬盘存储的数据不相同。例如,有的数据可能会被频繁调用,有的数据可能长时间不被使用。如果被频繁调用的数据被放在了同一个硬盘当中,则会出现同一个硬盘同时被读取的几率大大增加,此时如果有多个数据读写请求同时指向了同一个硬盘,就会由于硬盘自身的读取速度瓶颈导致数据读写速度慢且读写效率低的问题。
发明内容
本发明鉴于上述情况而作出,其目的是提供一种硬盘负载均衡方法,该方法通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配。
为实现上述目的,本发明的实施方式提供一种硬盘负载均衡方法,包括如下步骤:
在单位时间内获取每个硬盘内的每个数据的读取次数;
将获取的每个硬盘内所有数据的读取次数的总和进行排序;
检测是否有硬盘存在所有数据读写次数的总和发生变化;
如果有硬盘的读写次数发生变化,则根据每个硬盘内所有数据的读取次数的总和的排序结果,将发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
根据本发明的一个方面,将所述每个硬盘内所有数据的读取次数的总和按照降序或者升序的顺序进行排序。
根据本发明的另一个方面,所述单时间为1小时。
本发明提供的硬盘负载均衡方法通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
本发明的另一个目的是提供一种操作系统,该操作系统通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配。
为实现上述目的,本发明的实施方式提供一种操作系统,所述操作系统与多个硬盘进行通信,其中所述操作系统包括:读取次数获取模块,所述读取次数获取模块连接至每个硬盘,用于获取单位时间内每个硬盘内的每个数据的读取次数;读取次数排序模块,所述读取次数排序模块连接至所述读取次数获取模块,用于将获取的每个硬盘内所有数据的读取次数的总和进行排序;读写次数变化检测模块,所述读写次数变化检测模块连接至所述读取次数获取模块,用于检测是否有硬盘存在所有数据读写次数的总和发生变化;数据转存模块,所述数据转存模块连接至所述读写次数变化检测模块、读取次数排序模块及每个硬盘,用于在有硬盘的读写次数发生变化时,根据每个硬盘内所有数据的读取次数的总和的排序结果,将发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
根据本发明的一个方面,所述读取次数排序模块将所述每个硬盘内所有数据的读取次数的总和按照降序或者升序的顺序进行排序。
根据本发明的另一个方面,所述单位时间为1小时。
本发明提供的操作系统通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
本发明的再一个目的是提供一种存储控制设备,该存储控制设备通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配。
为实现上述目的,本发明的实施方式提供一种存储控制设备,包括:多个硬盘;本发明上述实施方式提供的操作系统,所述操作系统与所述多个硬盘中的每一个进行通信,用于将读写次数发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
本发明提供的存储控制设备通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
附图说明
图1是根据本发明实施方式的硬盘负载均衡方法的流程图;
图2示意性地示出数据在硬盘之间转存的示意图;
图3是根据本发明实施方式的操作系统的结构图;
图4是根据本发明实施方式的存储控制设备的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
首先,对多硬盘的数据存储进行说明。多个硬盘内可以存储有数据,其中,一个硬盘可以存储有一类或多类数据,当然硬盘的存储内容也可以为空。例如,数据可以为软件的形式。当操作系统需要调用某类数据时,需要从存储该类数据的硬盘内进行读取。如果频繁被调用的数据被放在同一个硬盘当中,那么就出现了一个硬盘同时被读取的几率大大增加,此时如果有多个数据读写请求同时指向了同一个硬盘,就会由于硬盘自身的读取速度瓶颈导致数据读写慢。因此,对于常用类的数据,会出现被频繁调用的情况。
图1示出了根据本发明实施方式的硬盘负载均衡方法的流程图。
如图1所示,本发明实施方式的硬盘负载均衡方法,包括如下步骤:
步骤S1,在单位时间内获取每个硬盘内的每个数据的读取次数。操作系统可以在任何预先设定的单位时间内对所有硬盘中每个硬盘内的所有类型的数据的读取次数进行实时获取,将获取的每个数据的读取次数作为该数据使用频率的系数,进而可以获取每个硬盘内所有数据读取次数的总和。以4个数据为例,第一份数据在单位时间内的读取次数是100,则其使用频率(也可以称为读取频率)是100,类似的,第二个数据的使用频率是20,第三个数据的使用频率是20,第四个数据的使用频率是20。
这里,数据类型可以是数据,例如软件程序等,也可以是信息数据,例如存储的各种资料数据等。优选的,预先设定的单位时间可以为1小时。可以理解的是,此处仅是出于示例的目的。预设时长可以由管理员根据硬盘和操作系统的实际运行情况进行设置。
步骤S2,将获取的每个硬盘内所有数据的读取次数进行排序。
操作系统将步骤S1获取的每个硬盘内每份数据的读取次数按照降序(由多至少)或者升序(由少至多)的顺序进行排序。
步骤S3,检测是否有硬盘存在所有数据的读写次数的总和发生变化。
操作系统检测是否有硬盘存在所有数据的读写次数的总和发生变化,如果发生变化,则执行步骤S4,否则不作其他处理。
在本发明的实施方式中,每隔预设时长检测一次是否有硬盘存在所有数据的读写次数发生变化即可,不需要每次获得读取次数即检测读写次数是否发生变化。其中,预设时长例如为12小时。
步骤S4,如果有数据的读写次数发生变化,则根据每个硬盘内所有数据的读取次数的排序结果,将发生变化的数据在多个硬盘之间进行转存,以使得任意两个硬盘的所有数据的读取次数总和的差值最小。
当存在硬盘的所有数据的读写次数总和发生变化时,将变化的数据进行硬盘间转存。例如,将读取次数排序较高的数据从原始存储的硬盘转存到读取次数排序较低的数据所在的硬盘,或者将读取次数排序较高的数据单独放置一个硬盘,将多个读取次数排序较低的数据放置在另一个硬盘。在本发明的实施方式中,数据在硬盘间的转存可以通过数据拷贝(copy)或剪切(cut)实现。
综上所述,基于上述操作持续对读取次数较高的数据在不同硬盘之间进行转存,使得任意两个硬盘内的所有数据读取次数总和的差值不断趋近于或达到最小,结果使得所述差值总是尽量接近于最小或达到最小,从而使得各个硬盘的读取频率(访问频率或使用频率)在任意时刻总是保证大致平均。
优选的,每个硬盘中存储的各数据的读取次数之和相等,每个硬盘被读取的次数相等,从而避免出现同一时间内,一个硬盘被频繁调用的情况,实现硬盘的负载均衡。
图2示意性地示出了数据在硬盘之间转存的示意图。
如图2所示,硬盘包括硬盘D1和硬盘D2,数据包括软件A、软件B、软件C和软件D。其中,负载均衡前,软件A、软件B、软件C均存储在硬盘D1内,软件D存储在硬盘D2内。首先,操作系统获取1个小时内硬盘D1内的软件A、软件B和软件C的读取次数,以及硬盘D2内的软件D的读取次数。其中,软件A在1小时内的读取次数为100,软件B在1小时内的读取次数为20,软件C在1小时内的读取次数为20,软件D在1小时内的读取次数为20,则硬盘D1内所有数据的读取次数总和为140,硬盘D2内所有数据的读取次数总和为20。
操作系统将上述读取的每个硬盘的所有数据的读取次数由多至少进行排序,结果如下:硬盘D1(140次)、硬盘D2(20次)。可知,两个硬盘内的所有数据的读取次数之和的差值为120次。在一小时内,硬盘D1被频繁调用,硬盘D2的空闲时间较多。
操作系统检测硬盘D1和硬盘D2内所有数据的读写次数是否发生变化,即检测是否有读写软件A、软件B、软件C或软件D的操作,如果有,则操作系统将软件B和软件C转存至硬盘D2。如此负载均衡后,硬盘D1的各类应用软件的读取次数之和为100,硬盘D2的各类应用软件的读取次数之和为60。两个硬盘内的各类软件的读取次数之和的差值为40次,40次比之前的120次要减小很多,从而实现使得硬盘之间的差值最小,达到负载均衡的要求,保证硬盘间软件读取系数的最小差距。
根据本发明的硬盘负载均衡方法,通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
图3是根据本发明实施方式的操作系统的结构图。其中,该操作系统可以与多个硬盘进行通信。
如图3所示,本发明实施方式提供的操作系统10包括读取次数获取模块1、读取次数排序模块2、读写次数变化检测模块3和数据转存模块4。
具体来说,读取次数获取模块1连接至每个硬盘,用于获取单位时间内每个硬盘内的每个数据的读取次数。参考图3,多个硬盘包括硬盘D1,…Dn,读取次数获取模块1与上述每个硬盘均相连,从而可以实时获取上述每个硬盘内的每个数据的读取次数。换言之,读取次数获取模块1可以在任何预先设定的单位时间内对所有硬盘中每个硬盘内的所有型的数据的读取次数进行实时获取,将获取的每个数据的读取次数作为该数据使用频率的系数。
以4个数据为例,第一份数据在单位时间内的读取次数是100,则其使用频率(也可以称为读取频率)是100,类似的,第二个数据的使用频率是20,第三个数据的使用频率是20,第四个数据的使用频率是20。
这里,数据类型可以是数据,例如软件程序等,也可以是信息数据,例如存储的各种资料数据等。
优选的,单位时间为1小时。可以理解的是,此处仅是出于示例的目的。预设时长可以由管理员根据硬盘和操作系统的实际运行情况进行设置。
读取次数排序模块2连接至读取次数获取模块1,用于将获取的每个硬盘内所有数据的读取次数总和进行排序。
在本发明的实施方式中,读取次数排序模块2将每个硬盘内所有数据的读取次数总和按照降序(由多至少)或者升序(由少至多)的顺序进行排序。
读写次数变化检测模块3连接至读取次数获取模块1,用于检测每个数据的读写次数是否发生变化,如果发生变化,则数据转存模块4进行转存,否则不做其他处理。
数据转存模块4连接至读取次数排序模块2、读写次数变化检测模块3和每个硬盘,用于在读写次数变化检测模块3检测到有数据的读写次数发生变化时,根据每个硬盘内所有数据的读取次数的排序结果,将发生变化的数据在多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
当读写次数发生变化时,数据转存模块4将变化的数据进行硬盘间转存。例如,数据转存模块4将读取次数排序较高的数据从原始存储的硬盘转存到读取次数排序较低的数据所在的硬盘,或者将读取次数排序较高的数据单独放置一个硬盘,将多个读取次数排序较低的数据放置在另一个硬盘。
总之,数据转存模块4对数据在硬盘之间进行转存,如此操作不断对任意两个硬盘内的各类数据的读取次数之和的差值最小。即,使得任意两个硬盘内的各个数据的读取次数之和的差值尽量最小,保证每个硬盘中存储的数据使用频率的系数总和是平均的。
优选的,每个硬盘中存储的各类数据的读取次数之和相等,每个硬盘被读取的次数相等,从而避免出现同一时间内,一个硬盘被频繁调用的情况,实现硬盘的负载均衡。
根据本发明的操作系统,通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
图4是根据本发明实施方式的存储控制设备的结构图。
如图4所示,本发明实施方式的存储控制设备包括多个硬盘(D1,…Dn)和本发明上述实施方式提供的操作系统10。其中,操作系统10与多个硬盘中每一个硬盘进行通信,用于将读取次数发生变化的数据在多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值小化,保证每个硬盘中存储的数据使用频率的系数总和是平均的,从而避免出现同一时间内,一个硬盘被频繁调用的情况,实现硬盘的负载均衡。
根据本发明的存储控制设备,通过对硬盘中的每类数据在单位时间内的读取次数进行统计和排序,根据排名顺序重新进行硬盘间的数据转存以实现数据在多个硬盘中的平均分配,从而保证每个硬盘中软件数据的读取频率尽量相同,减少同一时间内数据读取在同一个硬盘内的碰撞次数,实现硬盘负载均衡,从而达到提高数据读取速度和读取效率的目的。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (7)
1.一种硬盘负载均衡方法,包括如下步骤:
在单位时间内获取每个硬盘内的每个数据的读取次数;
将获取的每个硬盘内所有数据的读取次数的总和进行排序;
检测是否有硬盘存在所有数据读写次数的总和发生变化;
如果有硬盘的读写次数发生变化,则根据每个硬盘内所有数据的读取次数的总和的排序结果,将发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
2.根据权利要求1所述的硬盘负载均衡方法,其特征在于,将所述每个硬盘内所有数据的读取次数的总和按照降序或者升序的顺序进行排序。
3.根据权利要求1或2所述的硬盘负载均衡方法,其特征在于,所述单位时间为1小时。
4.一种操作系统,所述操作系统与多个硬盘进行通信,其中所述操作系统包括:
读取次数获取模块,所述读取次数获取模块连接至每个硬盘,用于获取单位时间内每个硬盘内的每个数据的读取次数;
读取次数排序模块,所述读取次数排序模块连接至所述读取次数获取模块,用于将获取的每个硬盘内所有数据的读取次数的总和进行排序;
读写次数变化检测模块,所述读写次数变化检测模块连接至所述读取次数获取模块,用于检测是否有硬盘存在所有数据读写次数的总和发生变化;
数据转存模块,所述数据转存模块连接至所述读写次数变化检测模块、读取次数排序模块及每个硬盘,用于在有硬盘的读写次数发生变化时,根据每个硬盘内所有数据的读取次数的总和的排序结果,将发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘的所有数据读取次数总和的差值最小。
5.根据权利要求4所述的操作系统,其特征在于,所述读取次数排序模块将所述每个硬盘内所有数据的读取次数的总和按照降序或者升序的顺序进行排序。
6.根据权利要求4或5所述的操作系统,其特征在于,所述单位时间为1小时。
7.一种存储控制设备,包括:
多个硬盘;
权利要求4至6任一项所述的操作系统,所述操作系统与所述多个硬盘中的每一个进行通信,用于将读写次数发生变化的数据在所述多个硬盘之间进行转存,以使得任意两个硬盘内的所有数据读取次数总和的差值最小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140491.XA CN103927134A (zh) | 2014-04-09 | 2014-04-09 | 硬盘负载均衡方法、操作系统及存储控制设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140491.XA CN103927134A (zh) | 2014-04-09 | 2014-04-09 | 硬盘负载均衡方法、操作系统及存储控制设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103927134A true CN103927134A (zh) | 2014-07-16 |
Family
ID=51145369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410140491.XA Pending CN103927134A (zh) | 2014-04-09 | 2014-04-09 | 硬盘负载均衡方法、操作系统及存储控制设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927134A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371762A (zh) * | 2016-08-19 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种存储数据优化方法及系统 |
CN107357523A (zh) * | 2017-06-27 | 2017-11-17 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN110941535A (zh) * | 2019-11-22 | 2020-03-31 | 山东超越数控电子股份有限公司 | 一种硬盘负载均衡方法 |
-
2014
- 2014-04-09 CN CN201410140491.XA patent/CN103927134A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371762A (zh) * | 2016-08-19 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种存储数据优化方法及系统 |
CN107357523A (zh) * | 2017-06-27 | 2017-11-17 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN110941535A (zh) * | 2019-11-22 | 2020-03-31 | 山东超越数控电子股份有限公司 | 一种硬盘负载均衡方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853770B2 (en) | Storage system, data relocation method thereof, and recording medium that records data relocation program | |
KR20200059318A (ko) | 커맨드 선택 폴리시 | |
US10348815B2 (en) | Command process load balancing system | |
CN103593436A (zh) | 文件合并方法和装置 | |
US11288287B2 (en) | Methods and apparatus to partition a database | |
CN103713861A (zh) | 一种基于层次划分的文件处理方法及系统 | |
US20070027940A1 (en) | Defragmenting one or more files based on an indicator | |
CN114546295B (zh) | 一种基于zns固态硬盘的智能写分配方法和装置 | |
US10712943B2 (en) | Database memory monitoring and defragmentation of database indexes | |
CN110737717B (zh) | 一种数据库迁移方法及装置 | |
CN103927134A (zh) | 硬盘负载均衡方法、操作系统及存储控制设备 | |
CN107870739B (zh) | 磁盘文件存储方法和系统 | |
KR101775107B1 (ko) | 하이브리드데이터베이스 및 하이브리드데이터베이스에서 테이블을 관리하는 방법 | |
US20190050298A1 (en) | Method and apparatus for improving database recovery speed using log data analysis | |
US10719497B2 (en) | Utilization of optimized ordered metadata structure for container-based large-scale distributed storage | |
CN113663931B (zh) | 物品分拣方法及装置 | |
US9164978B2 (en) | Identifying objects within a multidimensional array | |
US8316210B2 (en) | Dividing a logical memory space into ranges and sets for address translation | |
US10990354B2 (en) | Neural network accelerating device and method of controlling the same | |
CN103810114A (zh) | 分配存储空间的方法及装置 | |
CN107273303B (zh) | 一种闪存数据管理系统、方法、闪存芯片及存储装置 | |
US11080299B2 (en) | Methods and apparatus to partition a database | |
CN105574124A (zh) | 一种基于产品信息的数据存储系统 | |
CN105892937B (zh) | 一种信息处理方法及电子设备 | |
CN109324759A (zh) | 大数据平台的处理终端、读数据和写数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140716 |
|
RJ01 | Rejection of invention patent application after publication |