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

一种文件存储方法、装置、设备及计算机可读存储介质与流程

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


1.本发明涉及存储技术领域,特别是涉及一种文件存储方法、装置、设备及计算机可读存储介质。


背景技术:

2.在现网环境中,为了提升存储系统小文件性能同时兼顾成本,一般会配置一个小容量的固态硬盘(solid state disk,ssd)数据池作为高级池,同时提供一个大容量的物理硬盘(hard disk drive,hdd)数据池作为慢速池。数据首先写入ssd池,文件在ssd池超过一定时间后,将ssd池中的超时数据迁移至hdd池,空出ssd池继续接收新的写入业务。
3.ssd池空间因成本高所以一般容量有限,在小文件业务场景能存储大量的小文件,但当存在大文件的场景时,ssd池存储不了多少大文件就会被写满,而且大文件存储在ssd池并不会提升多少性能。另外文件在创建时也无法预测是大文件还是小文件,不同大小的文件都首先写入ssd池,高成本存储介质ssd被大文件快速写满,造成小文件无法使用ssd实现加速,从而导致ssd高性能存储介质的浪费,影响存储系统性能。
4.综上所述,如何有效地解决现有的文件存储方法易造成小文件无法使用ssd实现加速,从而导致ssd高性能存储介质的浪费,影响存储系统性能等问题,是目前本领域技术人员急需解决的问题。


技术实现要素:

5.本发明的目的是提供一种文件存储方法,该方法避免了大文件写固态硬盘导致高性能介质的浪费,使得小文件能真正使用固态硬盘实现加速,提升了存储系统的性能;本发明的另一目的是提供一种文件存储装置、设备及计算机可读存储介质。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一种文件存储方法,包括:
8.接收待写入的目标数据文件;
9.判断所述目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;
10.若是,则从所述目标数据文件中选取首部数据块;
11.将所述首部数据块存储至所述固态硬盘,并将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘。
12.在本发明的一种具体实施方式中,判断所述目标数据文件是否符合固态硬盘与物理硬盘分块存储原则,包括:
13.判断是否存在所述目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息。
14.在本发明的一种具体实施方式中,当确定所述目标数据文件不符合固态硬盘与物理硬盘分块存储原则时,还包括:
15.将所述目标数据文件存储至所述固态硬盘。
16.在本发明的一种具体实施方式中,从所述目标数据文件中选取首部数据块,包括:
17.根据条带化预置的首部数据块文件大小从所述目标数据文件中选取所述首部数据块;
18.将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘,包括:
19.根据所述首部数据块文件大小计算文件偏移量;
20.根据所述文件偏移量将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘。
21.在本发明的一种具体实施方式中,在根据所述文件偏移量将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘之后,还包括:
22.对接收到的文件访问请求进行解析,得到条带化的待访问位置;
23.判断所述待访问位置是否属于所述固态硬盘;
24.若是,则对所述固态硬盘中相应位置的数据进行访问操作;
25.若否,则对所述物理硬盘中相应位置的数据进行访问操作。
26.一种文件存储装置,包括:
27.文件接收模块,用于接收待写入的目标数据文件;
28.第一判断模块,用于判断所述目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;
29.数据选取模块,用于当确定所述目标数据文件符合固态硬盘与物理硬盘分块存储原则时,从所述目标数据文件中选取首部数据块;
30.第一数据存储模块,用于将所述首部数据块存储至所述固态硬盘,并将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘。
31.在本发明的一种具体实施方式中,所述第一判断模块具体为判断是否存在所述目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息的模块。
32.在本发明的一种具体实施方式中,所述数据选取模块具体为根据条带化预置的首部数据块文件大小从所述目标数据文件中选取所述首部数据块的模块;
33.所述第一数据存储模块包括:
34.偏移量计算子模块,用于根据所述首部数据块文件大小计算文件偏移量;
35.数据存储子模块,用于根据所述文件偏移量将所述目标数据文件除所述首部数据块之外的剩余数据存储至所述物理硬盘。
36.一种文件存储设备,包括:
37.存储器,用于存储计算机程序;
38.处理器,用于执行所述计算机程序时实现如前所述文件存储方法的步骤。
39.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述文件存储方法的步骤。
40.本发明所提供的文件存储方法,接收待写入的目标数据文件;判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;若是,则从目标数据文件中选取首部数据块;将首部数据块存储至固态硬盘,并将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
41.由上述技术方案可知,通过预先设置待写入的目标数据文件的存储原则,当进行目标数据文件写入时,若确定目标数据文件符合固态硬盘与物理硬盘分块存储原则,则将首部数据块存储至固态硬盘,将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。从而实现了当对大文件进行存储时,仅将少量的数据存储在固态硬盘中,将大部分除首部数据块之外的剩余数据存储至物理硬盘,避免了大文件写固态硬盘导致高性能介质的浪费,使得小文件能真正使用固态硬盘实现加速,提升了存储系统的性能。
42.相应的,本发明还提供了与上述文件存储方法相对应的文件存储装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本发明实施例中文件存储方法的一种实施流程图;
45.图2为本发明实施例中文件存储方法的另一种实施流程图;
46.图3为本发明实施例中一种文件存储装置的结构框图;
47.图4为本发明实施例中一种文件存储设备的结构框图;
48.图5为本实施例提供的一种文件存储设备的具体结构示意图。
具体实施方式
49.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.参见图1,图1为本发明实施例中文件存储方法的一种实施流程图,该方法可以包括以下步骤:
51.s101:接收待写入的目标数据文件。
52.当需要向由固态硬盘和物理硬盘构成的数据池中存储数据文件时,请求端向文件存储管理中心发送待写入的目标数据文件。文件存储管理中心接收待写入的目标数据文件。
53.s102:判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则,若否,则执行步骤s103,若是,则执行步骤s104。
54.预先设置对大文件存储时的固态硬盘与物理硬盘分块存储原则,在接收到待写入的目标数据文件时,判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则,若否,则说明待写入的目标数据文件的文件大小比较小,对目标数据文件存储不会占用过多存储空间,执行步骤s103,若是,则说明待写入的目标数据文件的文件大小比较大,对目标数据文件存储可能需要占用较大的存储空间,执行步骤s104。
55.对于判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则,可以是预先
对满足固态硬盘与物理硬盘分块存储原则的文件设置相应的标识信息,通过判断待写入的目标数据文件是否存在该标识信息,确定目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;还可以是预先设置满足固态硬盘与物理硬盘分块存储原则的文件类型,根据断待写入的目标数据文件的文件类型确定目标数据文件是否符合固态硬盘与物理硬盘分块存储原则。
56.s103:将目标数据文件存储至固态硬盘。
57.当确定目标数据文件不符合固态硬盘与物理硬盘分块存储原则时,说明待写入的目标数据文件的文件大小比较小,对目标数据文件存储不会占用过多存储空间,直接将目标数据文件存储至固态硬盘。
58.s104:从目标数据文件中选取首部数据块。
59.预先设置对于符合固态硬盘与物理硬盘分块存储原则的大文件对首部数据块和剩余数据块进行分盘存储。当确定目标数据文件符合固态硬盘与物理硬盘分块存储原则时,说明待写入的目标数据文件的文件大小比较大,对目标数据文件存储可能需要占用较大的存储空间,从目标数据文件中选取首部数据块。首部数据块可以为预先设置的一定大小的文件头部数据。
60.s105:将首部数据块存储至固态硬盘,并将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
61.在从目标数据文件中选取出首部数据块之后,将首部数据块存储至固态硬盘,并将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。通过将少量数据存储在固态硬盘,主要数据存储在物理硬盘,避免了大文件直接写入固态硬盘,造成固态硬盘快速写穿,真正实现小文件固态硬盘加速,提升了存储系统性能和稳定性。
62.由上述技术方案可知,通过预先设置待写入的目标数据文件的存储原则,当进行目标数据文件写入时,若确定目标数据文件符合固态硬盘与物理硬盘分块存储原则,则将首部数据块存储至固态硬盘,将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。从而实现了当对大文件进行存储时,仅将少量的数据存储在固态硬盘中,将大部分除首部数据块之外的剩余数据存储至物理硬盘,避免了大文件写固态硬盘导致高性能介质的浪费,使得小文件能真正使用固态硬盘实现加速,提升了存储系统的性能。
63.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
64.参见图2,图2为本发明实施例中文件存储方法的另一种实施流程图,该方法可以包括以下步骤:
65.s201:接收待写入的目标数据文件。
66.s202:判断是否存在目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息,若否,则执行步骤s203,若是,则执行步骤s204。
67.在文件创建时,设置文件元数据池pool1和文件元数据池pool2,其中pool1对应于固态硬盘,pool2对应于物理硬盘,并进行文件分层策略匹配,若匹配成功,则分别对pool1和pool2进行标识信息设置,即分别对固态硬盘和物理硬盘进行标识信息设置,若不匹配,则仅对pool1进行标识信息设置,即仅对固态硬盘进行标识信息设置。在接收到待写入的目
标数据文件之后,判断是否存在目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息,若否,则说明待写入的目标数据文件的文件大小比较小,对目标数据文件存储不会占用过多存储空间,执行步骤s203,若是,则说明待写入的目标数据文件的文件大小比较大,对目标数据文件存储可能需要占用较大的存储空间,执行步骤s204。
68.文件分层策略预先设置为根据文件类型确定是否对文件所在的存储层。
69.s203:将目标数据文件存储至固态硬盘。
70.s204:根据条带化预置的首部数据块文件大小从目标数据文件中选取首部数据块。
71.预先设置目标数据文件存在目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息,将文件首部预置大小的数据块与除首部数据块之外的剩余数据进行分层存储。当确定存在目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息时,根据条带化预置的首部数据块文件大小从目标数据文件中选取首部数据块,数据是以依次写入的方式进行存储,具体可以通过偏移量(offset) 大小(size)<=块大小计算,逐步累计得到首部数据块文件大小的首部数据块文件。
72.需要说明的是,首部数据块文件大小可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
73.s205:将首部数据块存储至固态硬盘,并根据首部数据块文件大小计算文件偏移量。
74.在选取得到首部数据块之后,将首部数据块存储至固态硬盘,从而将少量数据存储至固态硬盘中。并根据首部数据块文件大小计算文件偏移量,从而得到目标数据文件中除首部数据块之外的剩余数据的头部位置。
75.s206:根据文件偏移量将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
76.在根据首部数据块文件大小计算文件偏移量之后,根据文件偏移量将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘,从而通过对文件偏移量和文件大小的逐步计算,依次将剩余数据存储至物理硬盘。
77.s207:对接收到的文件访问请求进行解析,得到条带化的待访问位置。
78.当需要对预存的数据文件进行访问时,向文件存储管理中心发送文件访问请求,文件访问请求中包括条带化的待访问位置。文件存储管理中心接收文件访问请求,对接收到的文件访问请求进行解析,得到条带化的待访问位置,从而确定出是对固态硬盘中的数据进行访问,还是对物理硬盘中的数据进行访问。
79.文件访问可以包含对硬盘中存储的数据文件进行读取、修改、删除等操作。
80.s208:判断待访问位置是否属于固态硬盘,若是,则执行步骤s209,若否,则执行步骤s210。
81.在解析得到条带化的待访问位置之后,判断待访问位置是否属于固态硬盘,若是,则说明待访问的数据在固态硬盘,执行步骤s209,若否,则说明待访问的数据在物理硬盘,执行步骤s210。
82.s209:对固态硬盘中相应位置的数据进行访问操作。
83.当确定待访问位置属于固态硬盘时,说明待访问的数据在固态硬盘,对固态硬盘
中相应位置的数据进行访问操作,从而实现对数据文件的正常访问。
84.s210:对物理硬盘中相应位置的数据进行访问操作。
85.当确定待访问位置不属于固态硬盘时,说明待访问的数据在物理硬盘,对物理硬盘中相应位置的数据进行访问操作,从而实现对数据文件的正常访问。
86.本实施例区别于独立权利要求1所要求保护的技术方案对应的实施例一,还增加了从属权利要求2至5对应要求保护的技术方案,当然,根据实际情况和要求的不同,可将各从属权利要求对应要求保护的技术方案在不影响方案完整性的基础上进行灵活组合,以更加符合不同使用场景的要求,本实施例只是给出了其中一种包含方案最多、效果最优的方案,因为情况复杂,无法对所有可能存在的方案一一列举,本领域技术人员应能意识到根据本技术提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本技术的保护范围内。
87.相应于上面的方法实施例,本发明还提供了一种文件存储装置,下文描述的文件存储装置与上文描述的文件存储方法可相互对应参照。
88.参见图3,图3为本发明实施例中一种文件存储装置的结构框图,该装置可以包括:
89.文件接收模块31,用于接收待写入的目标数据文件;
90.第一判断模块32,用于判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;
91.数据选取模块33,用于当确定目标数据文件符合固态硬盘与物理硬盘分块存储原则时,从目标数据文件中选取首部数据块;
92.第一数据存储模块34,用于将首部数据块存储至固态硬盘,并将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
93.由上述技术方案可知,通过预先设置待写入的目标数据文件的存储原则,当进行目标数据文件写入时,若确定目标数据文件符合固态硬盘与物理硬盘分块存储原则,则将首部数据块存储至固态硬盘,将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。从而实现了当对大文件进行存储时,仅将少量的数据存储在固态硬盘中,将大部分除首部数据块之外的剩余数据存储至物理硬盘,避免了大文件写固态硬盘导致高性能介质的浪费,使得小文件能真正使用固态硬盘实现加速,提升了存储系统的性能。
94.在本发明的一种具体实施方式中,第一判断模块32具体为判断是否存在目标数据文件创建时匹配分层策略设置的物理硬盘设置标识信息的模块。
95.在本发明的一种具体实施方式中,该装置还可以包括:
96.第二数据存储模块,用于当确定目标数据文件不符合固态硬盘与物理硬盘分块存储原则时,将目标数据文件存储至固态硬盘。
97.在本发明的一种具体实施方式中,数据选取模块33具体为根据条带化预置的首部数据块文件大小从目标数据文件中选取首部数据块的模块;
98.第一数据存储模块34包括:
99.偏移量计算子模块,用于根据首部数据块文件大小计算文件偏移量;
100.数据存储子模块,用于根据文件偏移量将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
101.在本发明的一种具体实施方式中,该装置还可以包括:
102.访问位置获得模块,用于在根据文件偏移量将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘之后,对接收到的文件访问请求进行解析,得到条带化的待访问位置;
103.第二判断模块,用于判断待访问位置是否属于固态硬盘;
104.第一数据访问模块,用于当确定待访问位置属于固态硬盘时,对固态硬盘中相应位置的数据进行访问操作;
105.第二数据访问模块,用于当确定待访问位置不属于固态硬盘时,对物理硬盘中相应位置的数据进行访问操作。
106.相应于上面的方法实施例,参见图4,图4为本发明所提供的文件存储设备的示意图,该设备可以包括:
107.存储器332,用于存储计算机程序;
108.处理器322,用于执行计算机程序时实现上述方法实施例的文件存储方法的步骤。
109.具体的,请参考图5,图5为本实施例提供的一种文件存储设备的具体结构示意图,该文件存储设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在文件存储设备301上执行存储器332中的一系列指令操作。
110.文件存储设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
111.上文所描述的文件存储方法中的步骤可以由文件存储设备的结构实现。
112.相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
113.接收待写入的目标数据文件;判断目标数据文件是否符合固态硬盘与物理硬盘分块存储原则;若是,则从目标数据文件中选取首部数据块;将首部数据块存储至固态硬盘,并将目标数据文件除首部数据块之外的剩余数据存储至物理硬盘。
114.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
115.对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
116.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
117.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些
改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

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

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

相关文献