一种数据管理方法及装置制造方法

文档序号:6545832阅读:140来源:国知局
一种数据管理方法及装置制造方法
【专利摘要】本发明公开了一种数据管理方法及装置,涉及电子信息领域,能够提高数据的读写速度。具体方案为:在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域。本发明用于数据管理。
【专利说明】一种数据管理方法及装置
【技术领域】
[0001 ] 本发明涉及电子信息领域,尤其涉及一种数据管理方法及装置。
【背景技术】
[0002]新型的存储介质由于其高性能,低延迟的优势,为海量数据的管理提供了一个有效途径,存储体系的发展趋势渐渐多介质混合存储为主。混合存储系统可以根据数据和介质特性合理地分配数据存储位置,从而提高系统整体的性能。
[0003]热点数据,即访问次数很高的数据,只是所有数据的一小部分,如热点新闻等,在现有技术中,将缓存和硬盘的存储空间分为区块进行映射,这样,硬盘中多个区块会映射到缓存中的同一个区块,如果硬盘中多个区块都存储了热点数据,而映射到缓存中区块的存储空间有限,这就使得缓存和硬盘之间的数据传输过于频繁,影响了数据的读写速度。

【发明内容】

[0004]本发明的实施例提供一种数据管理方法及装置,能够提高数据的读写速度。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,一种数据管理方法,包括:
[0007]在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,其中所述缓存空间包括至少两个所述缓存区域;
[0008]在所述第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,其中,一个所述缓存区域包括至少一个所述缓存数据块;
[0009]将所述预设缓存数据块迁移至第二缓存区域。
[0010]结合第一方面,在第一种可能的实现方式中,所述在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,包括:
[0011]在所述第一预设时间内,记录所述缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果;
[0012]根据所述第一记录结果在所述缓存空间中选择所述第一预设时间内读次数或者写次数小于所述第一预设阈值的缓存区域作为所述第一缓存区域。
[0013]结合第一方面,在第二种可能的实现方式中,所述将所述预设缓存数据块迁移至第二缓存区域之前,还包括:
[0014]在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
[0015]结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域,包括:
[0016]在所述第二预设时间内,记录所述缓存空间中所有缓存区域的写次数并获取第二记录结果;[0017]根据所述第二记录结果在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
[0018]结合第一方面或第一方面的任意一种可能的实现方式,在第四种可能的实现方式中,所述将所述预设缓存数据块迁移至第二缓存区域之后,还包括:
[0019]将所述预设缓存数据块中存储的数据写入硬盘空间;
[0020]删除所述预设缓存数据块中存储的数据;
[0021]将所述预设缓存数据块迁移至所述第一缓存区域。
[0022]第二方面,一种数据管理装置,包括:
[0023]管理单元,用于在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,其中所述缓存空间包括至少两个所述缓存区域;
[0024]所述管理单元,还用于在所述第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,其中,一个所述缓存区域包括至少一个所述缓存数据块;
[0025]数据单元,用于将所述管理单元选择出的所述预设缓存数据块迁移至第二缓存区域。
[0026]结合第二方面,在第一种可能的实现方式中,
[0027]所述管理单元,还用于在所述第一预设时间内,记录所述缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果,根据所述第一记录结果在所述缓存空间中选择所述第一预设时间内读次数或者写次数小于所述第一预设阈值的缓存区域作为所述第一缓存区域。
[0028]结合第二方面,在第二种可能的实现方式中,
[0029]所述管理单元,还用于在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
[0030]结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
[0031]所述管理单元,还用于在所述第二预设时间内,记录所述缓存空间中所有缓存区域的写次数并获取第二记录结果,根据所述第二记录结果在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
[0032]结合第二方面或第二方面的任意一种可能的实现方式,在第四种可能的实现方式中,
[0033]所述数据单元,还用于将所述预设缓存数据块中存储的数据写入硬盘空间,删除所述预设缓存数据块中存储的数据,并将所述预设缓存数据块迁移至所述第一缓存区域。
[0034]本发明的实施例提供的一种数据管理方法及装置,通过在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域,提高了数据的读写速度。
【专利附图】

【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明的实施例提供的一种数据管理方法流程示意图;
[0037]图2为本发明的另一实施例提供的一种数据管理方法流程示意图;
[0038]图3为本发明的实施例提供的一种空间扩容效果示意图;
[0039]图4为本发明的实施例提供的一种扩容空间回迁效果示意图;
[0040]图5为本发明的实施例提供的一种数据管理装置结构示意图;
[0041]图6为本发明的另一实施例提供的一种数据管理装置结构示意图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]本发明的实施例提供一种数据管理方法,应用于存储系统,例如混合存储系统、非混合存储系统等,参照图1所示,包括以下步骤:
[0044]101、在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域。
[0045]其中,缓存空间包括至少两个缓存区域。对应的,硬盘空间也被划分为多个硬盘区域,硬盘区域与缓存区域相对应,这样,在读取数据的时候,先在缓存区域中查找,如果没有,则在该缓存区域对应的硬盘区域中查找,然后将该数据写入该硬盘区域对应的缓存区域中。
[0046]可选的,在第一预设时间内,记录缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果,根据第一记录结果在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域。
[0047]第一缓存区域在第一预设时间内的读次数或者写次数小于第一预设阈值,就证明第一缓存区域存储了大量冷数据,即不常用的数据,可以将第一缓存区域用来存储其他缓存区域的热数据,避免冷数据占用大量缓存而影响影响其他缓存区域数据的读写速度。
[0048]102、在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块。
[0049]其中,一个缓存区域包括至少一个缓存数据块。
[0050]103、将预设缓存数据块迁移至第二缓存区域。
[0051]可选的,在第二预设时间内,记录缓存空间中所有缓存区域的写次数并获取第二记录结果,根据第二记录结果在缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为第二缓存区域。
[0052]第二缓存区域在第二预设时间内的写次数大于第二预设阈值,说明第二缓存区域存储了大量热数据,即常用数据,在访问热数据时,例如,第二缓存区域对应了硬盘中多个硬盘区域,而第二缓存区域空间有限,第二缓存区域中存储的热数据如果不是本次访问的热数据,就要将需要访问的热数据从硬盘区域写入第二缓存区域,这样会导致之前存储在第二缓存区域中的热数据被替换掉,下次如果要访问被替换掉的热数据,就需要重新从硬盘区域中读取,然后写入第二缓存区域,这就使得第二缓存区域与硬盘区域之间的数据传输过于频繁,影响了读写速度。
[0053]将预设缓存数据块迁移至第二缓存区域,就可以将热数据写入预设缓存数据块中,这相当于扩大了第二缓存区域的存储空间,而预设缓存区域之前所在的第一缓存区域因为存储的热数据相对较少,数据读写次数较少,将该预缓存数据块分给第二缓存区域,并不影响第一缓存区域的数据读写,这样就提高了第一缓存区域数据的读写速度,提高了系统性能。
[0054]本发明的实施例提供的数据管理方法,通过在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域,提高了数据的读写速度。
[0055]基于上述图1对应的实施例,本发明的另一实施例提供一种数据管理方法,应用于各类存储系统,可选的,存储系统包括缓存空间及硬盘空间,其中,缓存空间被分为多个缓存区域,缓存区域被分为多个缓存数据块,对应的,硬盘空间被分为多个硬盘区域,硬盘区域被分为多个硬盘数据块,参照图2所示,包括以下步骤:
[0056]201、在预设时间内记录缓存空间中所有缓存区域的读次数和写次数。
[0057]可选的,预设时间可以为第一预设时间或者第二预设时间,第一预设时间和第二预设时间可以相同,此处,本实施例不做限制。在获取该预设时间内的记录结果后,可以清除记录。
[0058]202、根据记录结果获取预设时间内的第一缓存区域及第二缓存区域。
[0059]具体的,在预设时间内读次数或者写次数小于第一预设阈值的缓存区域为第一缓存区域,也就是存储大量冷数据的缓存区域,也可称为冷区域,在预设时间内写次数大于或者等于第二预设阈值的缓存区域为第二缓存区域,也就是存储大量热数据的缓存区域,也可称为热区域。
[0060]可选的,当有多个热区域和冷区域时,需要将热区域和冷区域进行关联,使其一一对应。冷区域和热区域可以分别以链表的形式互相建立关联。
[0061]203、在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块。
[0062]如图3所示,将第一缓存区域中未使用的缓存数据块用于对第二缓存区域进行空间扩容,保证了第一缓存区域的数据读写不受影响。
[0063]204、将预设缓存数据块迁移至第二缓存区域。
[0064]可选的,通过缓存区域和缓存数据块及扇区确定缓存中数据的存储位置,一个缓存数据块包含多个扇区,记录表记录了从缓存区域到扇区的路径,将预设缓存数据块迁移至第二缓存区域,可以将第二缓存区域的记录表中最后一个缓存数据块的尾指针关联至预设缓存数据块,并将预设缓存数据块的尾指针不再关联至第一缓存区域,当然,预设缓存数据块的迁移方法比较多,此处本发明对于预设缓存数据块的具体迁移过程不做限制,只要能将预设缓存数据块迁移至第一缓存区域都属于本发明的保护范围。
[0065]205、将预设缓存数据块中存储的数据写入硬盘空间。
[0066]可选的,如图4所示,当第二缓存区域不再是热区域,就不用继续占用预设缓存数据块,可以将预设缓存数据块迁移回第一缓存区域。
[0067]具体的,将预设缓存数据块中存储的数据写入硬盘空间中与该预设缓存数据块相对应的硬盘数据块。
[0068]206、删除所述预设缓存数据块中存储的数据,并将预设缓存数据块迁移至第一缓存区域。
[0069]本发明的实施例提供的数据管理方法,通过在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域,提高了数据的读写速度。
[0070]基于上述图1对应的实施例,本发明的实施例提供一种数据管理装置,参照图5所示,该数据管理装置501包括:管理单元5011及数据单元5012。
[0071]其中,管理单元5011,用于在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,其中缓存空间包括至少两个缓存区域。
[0072]管理单元5011,还用于在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,其中,一个缓存区域包括至少一个缓存数据块。
[0073]数据单元,用于将管理单元5011选择出的预设缓存数据块迁移至第二缓存区域。
[0074]本发明的实施例提供的数据管理装置,通过在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域,提高了数据的读写速度。
[0075]可选的,管理单元5011,还用于在第一预设时间内,记录缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果,根据第一记录结果在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域。
[0076]进一步可选的,管理单元5011,还用于在缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为第二缓存区域。
[0077]可选的,管理单元5011,还用于在第二预设时间内,记录缓存空间中所有缓存区域的写次数并获取第二记录结果,根据第二记录结果在缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为第二缓存区域。
[0078]可选的,数据单元5012,还用于将预设缓存数据块中存储的数据写入硬盘空间,删除预设缓存数据块中存储的数据,并将预设缓存数据块迁移至第一缓存区域。
[0079]本发明的实施例提供的数据管理装置,通过在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,在第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,将预设缓存数据块迁移至第二缓存区域,提高了数据的读写速度。
[0080]本发明的另一实施例提供一种数据管理装置6001,参照图6所示,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该数据管理装置6001包括:至少一个处理器6011、存储器6012、总线6013、发射器6014和接收器6015,该至少一个处理器6011、存储器6012、发射器6014和接收器6015通过总线6013连接并完成相互间的通信。
[0081]该总线6013 可以是 ISA (Industry Standard Architecture,工业标准体系结构)总线、PCI (Peripheral Component,外部设备互连)总线或 EISA (Extended IndustryStandard Architecture,扩展工业标准体系结构)总线等。该总线6013可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
[0082]存储器6012用于执行本发明方案的应用程序代码,执行本发明方案的应用程序代码保存在存储器中,并由处理器6011来控制执行。
[0083]该存储器可以是只读存储器ROM或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器EEPR0M、只读光盘CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。这些存储器通过总线与处理器相连接。
[0084]处理器6011可能是一个中央处理器6011 (Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为 ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0085]处理器6011,用于调用存储器6012中的程序代码,用以执行上述图5对应的设备实施例中管理单元及数据单元的操作,具体描述参照图5对应的设备实施例,这里不再赘述。
[0086]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM(Random Access Memory,随机存储器)、ROM (Read Only Memory,只读内存)、EEPR0M (Electrical Iy Erasable Programmable ReadOnly Memory,电可擦可编程只读存储器)、CD-ROM (Compact Disc Read Only Memory,即只读光盘)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、DSL(Digital Subscriber Line,数字用户专线)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘和碟包括⑶(Compact Disc,压缩光碟)、激光碟、光碟、DVD碟(Digital VersatileDisc,数字通用光)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
[0087]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种数据管理方法,其特征在于,包括: 在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,其中所述缓存空间包括至少两个所述缓存区域; 在所述第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,其中,一个所述缓存区域包括至少一个所述缓存数据块; 将所述预设缓存数据块迁移至第二缓存区域。
2.根据权利要求1所述的方法,其特征在于,所述在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,包括: 在所述第一预设时间内,记录所述缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果; 根据所述第一记录结果在所述缓存空间中选择所述第一预设时间内读次数或者写次数小于所述第一预设阈值的缓存区域作为所述第一缓存区域。
3.根据权利要求1所述的方法,其特征在于,所述将所述预设缓存数据块迁移至第二缓存区域之前, 还包括: 在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
4.根据权利要求3所述的方法,其特征在于,所述在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域,包括: 在所述第二预设时间内,记录所述缓存空间中所有缓存区域的写次数并获取第二记录结果; 根据所述第二记录结果在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述预设缓存数据块迁移至第二缓存区域之后,还包括: 将所述预设缓存数据块中存储的数据写入硬盘空间; 删除所述预设缓存数据块中存储的数据; 将所述预设缓存数据块迁移至所述第一缓存区域。
6.一种数据管理装置,其特征在于,包括: 管理单元,用于在缓存空间中选择第一预设时间内读次数或者写次数小于第一预设阈值的缓存区域作为第一缓存区域,其中所述缓存空间包括至少两个所述缓存区域; 所述管理单元,还用于在所述第一缓存区域中选择未使用的缓存数据块作为预设缓存数据块,其中,一个所述缓存区域包括至少一个所述缓存数据块; 数据单元,用于将所述管理单元选择出的所述预设缓存数据块迁移至第二缓存区域。
7.根据权利要求6所述的装置,其特征在于, 所述管理单元,还用于在所述第一预设时间内,记录所述缓存空间中所有缓存区域的读次数或者写次数并获取第一记录结果,根据所述第一记录结果在所述缓存空间中选择所述第一预设时间内读次数或者写次数小于所述第一预设阈值的缓存区域作为所述第一缓存区域。
8.根据权利要求6所述的装置,其特征在于,所述管理单元,还用于在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
9.根据权利要求8所述的装置,其特征在于, 所述管理单元,还用于在所述第二预设时间内,记录所述缓存空间中所有缓存区域的写次数并获取第二记录结果,根据所述第二记录结果在所述缓存空间中选择第二预设时间内写次数大于或者等于第二预设阈值的缓存区域作为所述第二缓存区域。
10.根据权利要求6-9任一项所述的装置,其特征在于, 所述数据单元,还用于将所述预设缓存数据块中存储的数据写入硬盘空间,删除所述预设缓存数据块中存 储的数据,并将所述预设缓存数据块迁移至所述第一缓存区域。
【文档编号】G06F12/08GK103984644SQ201410191010
【公开日】2014年8月13日 申请日期:2014年5月7日 优先权日:2014年5月7日
【发明者】李挺, 谭诗诗, 王岩松 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1