文件存储方法、终端设备和计算机可读存储介质与流程

文档序号:29076253发布日期:2022-03-01 22:50阅读:53来源:国知局
文件存储方法、终端设备和计算机可读存储介质与流程

1.本技术涉及数据管理技术领域,特别是涉及文件存储方法、终端设备和计算机可读存储介质。


背景技术:

2.现有技术中,在需要存储一份数据时,通常会对该份数据进行双冗余备份,也即,将该份数据在不同存储器中存储一次,以避免一存储器出现故障就使得该份数据丢失的情况发生。
3.现有技术的缺陷在于,双冗余备份需要将一份数据同时存储在不同存储器中,若在多个存储器中随意选取两个存储器进行数据的存储,则有可能在将一份数据存储完毕后,使得一存储器的剩余容量大于多个存储器中其它存储器的剩余容量之和,进而在进行双冗余备份时,使得剩余容量最大的存储器的中的部分或全部剩余容量被浪费,降低了文件存储方法的可靠性。


技术实现要素:

4.本技术主要解决的技术问题是如何提高文件存储方法的可靠性。
5.为了解决上述技术问题,本技术采用的第一个技术方案是:一种文件存储方法,文件存储方法包括:获取文件的总存储数据,以及存储系统的资源序列,其中,资源序列包括多个存储器;基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值;确定存储文件的第一存储数据的第一存储量及其第一资源序列,其中,第一资源序列中包括有效使用量大于使用量上限值的存储器,第一存储量对应第一资源序列的存储器有效使用量超出使用量上限值的部分使用量;基于第一存储数据,获取文件的第一剩余存储数据;确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列,其中,第二资源序列中包括资源序列中除第一资源序列以外的至少一个存储器;基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
6.为了解决上述技术问题,本技术采用的第二个技术方案是:一种终端设备,终端设备包括处理器和存储器;存储器中存储有计算机程序,处理器用于执行计算机程序以实现上述文件存储方法。
7.为了解决上述技术问题,本技术采用的第三个技术方案是:一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述文件存储方法。
8.本技术的有益效果在于:区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序
列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
附图说明
9.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
10.图1是文件存储流程的一实施例的时序图;
11.图2是本技术文件存储方法的第一实施例的流程示意图;
12.图3是本技术文件存储方法的第二实施例的流程示意图;
13.图4是本技术文件存储方法的第三实施例的流程示意图;
14.图5是本技术文件存储方法的第四实施例的流程示意图;
15.图6是本技术文件存储方法的第五实施例的流程示意图;
16.图7是本技术文件存储方法的第六实施例的流程示意图;
17.图8是本技术文件存储方法的第七实施例的流程示意图;
18.图9是本技术文件存储方法的第八实施例的流程示意图;
19.图10是本技术终端设备的一实施例的结构示意图;
20.图11是本技术计算机可读存储介质的一实施例的结构示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本技术保护的范围。
22.本技术中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.关于现有的文件存储方法,举例说明,若存储系统包括第一存储器、第二存储器、第三存储器和第四存储器,第一存储器、第二存储器、第三存储器和第四存储器之间的有效使用量分别为:30mb、20mb、15mb和40mb。
24.分别采用两种写入方式将数据存入存储系统中。
25.第一种写入过程如表1所示:
26.[0027][0028]
表1第二种写入过程如表2所示:
[0029] 第一存储器第二存储器第三存储器第四存储器初始值30mb20mb15mb40mb写入20mb后10mb0mb15mb40mb写入10mb后10mb0mb5mb30mb写入10mb后0mb0mb5mb20mb写入5mb后0mb0mb0mb15mb
[0030]
表2
[0031]
在表1和表2中,写入一份目标数据时,需要分别向两个存储器存入相同的目标数据,以实现双冗余备份。
[0032]
可见,现有的文件存储方法并没有对如何存储文件作出合理规划,因此,在存储不同数据时,容易出现如表1和表2的状况,也即,最后只剩一个存储器还有一定的空闲存储容量,而其它三个存储器的空闲存储容量都已清零,由于双冗余备份需要在不同存储器内同时存入相同大小的数据,在仅一个存储器有空闲存储容量时是无法进行双冗余备份的,这将导致该存储器的空闲存储容量被浪费。可见,现有的文件存储方法的存储方式并不合理,经常性无法达到存储系统所应达到的最大存储理论值,存储系统的有效使用率较小,可靠性极低。
[0033]
需要说明的是,如图1所示,图1是文件存储流程的一实施例的时序图,在该时序图中,文件存储方法包括:
[0034]
步骤s11:存储系统向决策模块发送存储系统中各存储器的有效使用量。
[0035]
步骤s12:应用程序向存储系统请求写入目标数据。
[0036]
步骤s13:存储系统向决策模块请求分配存储系统中各存储器对应的用于写入目标数据的有效使用量。
[0037]
步骤s14:决策模块向存储系统发送分配方案。
[0038]
步骤s15:存储系统根据分配方案向各存储器写入目标数据。
[0039]
步骤s16:存储系统向应用程序反馈写入成功提示。
[0040]
其中,应用程序可以是设置于任意类型终端上的软件程序,用户可通过该应用程序输入所要存储的数据,如图片、视频、文字等。存储系统可以是包含若干存储器的系统。决策模块可以是一处理器。
[0041]
在上述流程中,若在步骤s13后,决策模块无法生成分配方案(如出现存储系统的有效使用量小于目标数据的情况),则可向应用程序反馈写入失败提示(如存储系统空间不足的提示)。
[0042]
基于上述方式,可将一份目标数据存入存储系统,而本技术主要要做出的改进就落在决策模块生成分配方案以及使存储系统根据分配方案写入目标数据的步骤上,也即在
步骤s14和s15上做出改进,以避免存储系统在将一份目标数据写入存储系统后,造成过多有效使用量的浪费,以提高文件存储方法的可靠性。
[0043]
本技术提出一种文件存储方法,如图2所示,图2是本技术文件存储方法的第一实施例的流程示意图,该文件存储方法包括:
[0044]
步骤s21:获取文件的总存储数据,以及存储系统的资源序列。
[0045]
其中,资源序列包括多个存储器,文件的总存储数据可以是指需要向存储系统存入的全部数据,在需要进行双冗余备份的情况下,该总存储数据可包括两份相同的文件数据。
[0046]
步骤s22:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0047]
其中,资源序列的有效使用量总和可以是指资源序列中的全部存储器中可以存入的数据量总和。
[0048]
具体的,可基于式(1),获取使用量上限值,式(1)如下所示:
[0049]
limit=(total-size
×
2)
÷
2(1);
[0050]
式中,limit为使用量上限值,total为资源序列的有效使用量总和,(size
×
2)为总存储数据的存储数据量。
[0051]
需要说明的是,采用资源序列的有效使用量总和减去总存储数据的存储数据量,即可得到将总存储数据全部存入存储系统后,存储系统的剩余有效使用量总和。将存储系统的剩余有效使用量总和除以二即可得到使用量上限值。
[0052]
在将总存储数据存入存储系统后,若存储系统中存在一存储器的有效使用量超过该使用量上限值,基于式(1)可知,该存储器的有效使用量也会超过存储系统的剩余有效使用量总和的一半,也即,存储系统中将会存在一存储器的有效使用量大于其它存储器的有效使用量之和,这将导致表1和表2的情况出现,最终将会使得该有效使用量最大的存储器中的部分使用量因无法实现双冗余备份而被浪费。
[0053]
步骤s23:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0054]
其中,第一资源序列中包括有效使用量大于使用量上限值的存储器,第一存储量对应第一资源序列的存储器有效使用量超出使用量上限值的部分使用量。
[0055]
具体的,可将资源序列中有效使用量大于使用量上限值的存储器,划分为第一资源序列中的存储器,以及,确定存储文件中,与第一资源序列的存储器有效使用量超出使用量上限值的部分使用量对应的第一存储量的第一存储数据。
[0056]
需要说明的是,基于上述方式,可确定后续将会往第一资源序列中存储第一存储量的与存储文件对应的数据,以确保在完成对文件的总存储数据的存储后,存储系统中不会出现一存储器的有效使用量大于其它存储器的有效使用量总和的状况,以尽可能避免了存储器有效使用量的浪费。
[0057]
步骤s24:基于第一存储数据,获取文件的第一剩余存储数据。
[0058]
其中,可基于总存储数据和第一存储数据,计算得到文件的第一剩余存储数据,其中,总存储数据的数据量可以是第一存储数据和第一剩余存储数据的数据量之和。
[0059]
步骤s25:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0060]
其中,第二资源序列中包括资源序列中除第一资源序列以外的至少一个存储器。
[0061]
可确定资源序列中除第一资源序列以外的至少一个存储器,用于存储第一剩余存储量的第一剩余存储数据。
[0062]
步骤s26:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0063]
其中,可基于第一资源序列和第二资源序列中的全部存储器,存储第一存储量与第二剩余存储量之和的总存储数据,完成存储文件的存储。
[0064]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0065]
本技术还提出一种文件存储方法,如图3所示,图3是本技术文件存储方法的第二实施例的流程示意图,该文件存储方法包括:
[0066]
步骤s31:获取文件的总存储数据,以及存储系统的资源序列。
[0067]
步骤s32:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0068]
步骤s33:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0069]
步骤s34:基于第一存储数据,获取文件的第一剩余存储数据。
[0070]
步骤s35:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0071]
步骤s36:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0072]
第二实施例中的步骤s31-s36与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0073]
如图3所示,步骤s33具体可包括:
[0074]
步骤s331:基于第一存储数据以及总存储数据,获取补充存储数据量。
[0075]
其中,可根据第一存储数据的第一存储量,以及总存储数据的存储数据量,确定第一资源序列中的存储器除存储第一存储数据外,还可存储的数据量,记作补充存储数据量。
[0076]
步骤s332:确定存储文件的第一存储数据的第一存储量、第二存储数据的第二存储量及其第一资源序列。
[0077]
其中,第二存储量对应补充存储数据量。
[0078]
可基于存储文件的第一存储数据的第一存储量、第二存储数据的第二存储量,确定第一资源序列中各存储器对应的,用于存储第一存储数据和/或第二存储数据的使用量。
[0079]
如图3所示,步骤s34具体可包括:
[0080]
步骤s341:基于第一存储数据和第二存储数据,获取文件的第一剩余存储数据。
[0081]
其中,可基于总存储数据、第一存储数据和第二存储数据,计算得到文件的第一剩
余存储数据,其中,总存储数据的数据量可以是第一存储数据、第二存储数据和第一剩余存储数据的数据量之和。
[0082]
如图3所示,步骤s35具体可包括:
[0083]
步骤s351:确定存储文件的第一剩余存储数据的第一剩余存储量。
[0084]
当第一不为0时,执行步骤s352。
[0085]
步骤s352:确定存储文件的第一剩余存储数据的第二资源序列。
[0086]
步骤s36具体可包括:
[0087]
当第一为0时,执行步骤s36中的步骤s361。
[0088]
步骤s361:基于第一存储量、第二存储量及其第一资源序列,存储总存储数据。
[0089]
其中,当第一剩余存储数据为0时,意味着可仅采用第一资源序列完成对该文件的总存储数据的存储,不必再采用第二资源序列进行存储动作,减少了文件的拆分。
[0090]
可选地,文件的文件数据为总存储数据的一半。
[0091]
补充存储数据量具体为第一资源序列中的存储器存储完第一存储数据后,在文件数据的数据量的范围内剩余可分配的存储数据量。
[0092]
具体的,需保证第一资源序列中各存储器,用于存储第一存储数据和第二存储数据的使用量,均不超过文件数据的数据量,当然,也不能超过各存储器的有效使用量。因为,在进行文件的双冗余备份时,一份总存储数据包括两份相同的文件数据,一个存储器最多只能存储一份完整的文件数据,另一份文件数据则需要存放在其它的至少一存储器上,以形成冗余备份,不会出现一个存储器损坏而使得文件数据无法还原的状况,提高了文件存储方法的可靠性。
[0093]
此外,使原本就确定使用第一资源序列中的存储器分配更多的有效使用量,以进行总存储数据的存储,可以尽可能地避免将总存储数据存储于不同存储器中,进而减少总存储数据被拆分到不同存储器中的拆分份数,减少数据因拆分而损坏的风险,提高文件存储方法的可靠性。
[0094]
可选地,如图3所示,步骤s36具体还可包括:
[0095]
当第一不为0时,在执行完毕步骤s352后,执行步骤s36中的步骤s362。
[0096]
步骤s362:基于第一存储量、第二存储量及其第一资源序列,与第一剩余存储量及其第二资源序列,存储总存储数据。
[0097]
其中,当第一剩余存储数据不为0时,意味着仅采用第一资源序列无法完成对该文件的总存储数据的存储,故需要采用第一资源序列和第二资源序列中的存储器进行文件的总存储数据的存储。
[0098]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0099]
本技术还提出一种文件存储方法,如图4所示,图4是本技术文件存储方法的第三
实施例的流程示意图,该文件存储方法包括:
[0100]
步骤s41:获取文件的总存储数据,以及存储系统的资源序列。
[0101]
步骤s42:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0102]
步骤s43:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0103]
步骤s44:基于第一存储数据,获取文件的第一剩余存储数据。
[0104]
步骤s45:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0105]
步骤s46:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0106]
第三实施例中的步骤s41-s46与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0107]
文件的文件数据为总存储数据的一半。
[0108]
如图4所示,步骤s45具体可包括:
[0109]
步骤s451:判断第一剩余存储数据的存储数据量是否小于文件数据的文件数据量。
[0110]
若是,则执行步骤s452及后续的步骤s453。
[0111]
步骤s452:在资源序列中除第一资源序列以外的存储器中,不存在单一存储器的有效使用量大于等于第一剩余存储量的情况下,确定资源序列中除第一资源序列以外的存储器中,有效使用量最大的存储器为用于存储第一剩余存储数据的存储器,并将其确定为第二资源序列的存储器。
[0112]
其中,可对资源序列中除第一资源序列以外的存储器,进行有效使用量的确定。
[0113]
在资源序列中除第一资源序列以外的存储器中,不存在有效使用量大于等于第一剩余存储量的单一存储器的时候,由于第一剩余存储数据的存储数据量比文件数据小,故可调用资源序列中除第一资源序列以外的存储器中,有效使用量最大的一存储器为第二资源序列中的存储器,在采用该存储器最大程度地存储第一剩余存储数据的总存储数据时,将不可能出现该存储器存放超过文件数据的存储数据量的数据的情况,因此,此时无需进行有关该存储器的存储数据量的判断逻辑,将该存储器存储满即可,完全可以保证双冗余备份的有效进行,提高了文件存储速度。
[0114]
步骤s453:基于第二资源序列中的最大有效使用量,以及第一剩余存储量,获取第二剩余存储数据及其第二剩余存储量,并基于第二剩余存储量,确定资源序列中除第一资源序列以外的,用于存储第二剩余存储数据的存储器。
[0115]
其中,第二剩余存储数据可以是指第一剩余存储数据中,除存放于当前第二资源序列中的存储器的部分数据以外的部分数据,也即,第二剩余存储数据可以是第一剩余存储数据的一部分。在完成步骤s452后,可继续确定资源序列中除第一资源序列以外的全部存储器中,用于存储第二剩余存储数据的存储器,并将其也确定为第二资源序列的存储器,直至将第一剩余存储数据全部存储完毕。
[0116]
具体的,在步骤s452中,选用资源序列中除第一资源序列以外的存储器中,有效使用量最大的存储器为用于存储第一剩余存储数据的存储器,可以最大程度减少第一剩余存
储数据,乃至文件数据的拆分。
[0117]
举例说明,若选用有效使用量较小的存储器为用于存储第一剩余存储数据的存储器,则有可能要使用五个存储器才能将第一剩余存储数据存放完毕,而若选用有效使用量较大的存储器为用于存储第一剩余存储数据的存储器,则有可能只要使用两个存储器就能将第一剩余存储数据存放完毕。基于上述原理,尽可能选用有效使用量大的存储器进行第一剩余存储数据的存储,可有效减少文件数据的拆分数量,降低文件数据的拆分和恢复难度,提高文件存储方法的可靠性。
[0118]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0119]
本技术还提出一种文件存储方法,如图5所示,图5是本技术文件存储方法的第四实施例的流程示意图,该文件存储方法包括:
[0120]
步骤s51:获取文件的总存储数据,以及存储系统的资源序列。
[0121]
步骤s52:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0122]
步骤s53:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0123]
步骤s54:基于第一存储数据,获取文件的第一剩余存储数据。
[0124]
步骤s55:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0125]
步骤s56:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0126]
第四实施例中的步骤s51-s56与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0127]
文件的文件数据为总存储数据的一半。
[0128]
如图5所示,步骤s55具体可包括:
[0129]
步骤s551:判断第一剩余存储数据的存储数据量是否小于文件数据的文件数据量;
[0130]
若是,则执行步骤s552。
[0131]
步骤s552:在资源序列中除第一资源序列以外的存储器中,存在单一存储器的有效使用量大于等于第一剩余存储数据的存储数据量的情况下,确定资源序列中除第一资源序列以外的存储器中,有效使用量大于等于第一剩余存储数据的存储数据量的最小存储器为用于存储第一剩余存储数据的存储器,并将其确定为第二资源序列的存储器。
[0132]
其中,可对资源序列中除第一资源序列以外的存储器,进行有效使用量的确定。
[0133]
第一,由于第一剩余存储数据的存储数据量比文件数据小,故在采用资源序列中除第一资源序列以外的任一存储器存储第一剩余存储数据时,均不可能出现该存储器存放
超过文件数据的存储数据量的数据的情况,因此,此时无需进行有关该存储器的存储数据量的判断逻辑,将该存储器存储满或将第一剩余存储数据全部存储即可,完全可以保证双冗余备份的有效进行,提高了文件存储速度。
[0134]
第二,由于在资源序列中除第一资源序列以外的存储器中,存在单一存储器的有效使用量大于等于第一剩余存储数据的存储数据量,故可选取资源序列中除第一资源序列以外的存储器中,有效使用量大于等于第一剩余存储数据的存储数据量的最小存储器,进行第一剩余存储数据的存储,以实现采用最小的足够容纳第一剩余存储数据的存储器存储第一剩余存储数据的效果,尽可能减少单一存储器中存放过多不同类型数据的情况,提高数据存储的合理性,提高了文件存储方法的可靠性。
[0135]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0136]
本技术还提出一种文件存储方法,如图6所示,图6是本技术文件存储方法的第五实施例的流程示意图,该文件存储方法包括:
[0137]
步骤s61:获取文件的总存储数据,以及存储系统的资源序列。
[0138]
步骤s62:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0139]
步骤s63:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0140]
步骤s64:基于第一存储数据,获取文件的第一剩余存储数据。
[0141]
步骤s65:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0142]
步骤s66:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0143]
第五实施例中的步骤s61-s66与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0144]
文件的文件数据为总存储数据的一半。
[0145]
如图6所示,步骤s65具体可包括:
[0146]
步骤s651:判断第一剩余存储数据的存储数据量是否小于文件数据的文件数据量。
[0147]
若否,则执行步骤s652及后续的步骤s653。
[0148]
步骤s652:在资源序列中除第一资源序列以外的存储器中,存在单一存储器的有效使用量大于等于文件数据的文件数据量的情况下,确定资源序列中除第一资源序列以外的存储器中,有效使用量大于等于文件数据量的最小存储器为用于存储第一剩余存储数据的存储器,并将其确定为第二资源序列的存储器。
[0149]
其中,在第一剩余存储数据大于等于文件数据的文件数据量时,需要避免单一存
储器存储超过文件数据的文件数据量的第一剩余存储数据的情况发生,这将导致单一存储器内存放有两份文件数据的相同部分,进而将导致双冗余备份的失败。
[0150]
因此,在资源序列中除第一资源序列以外的存储器中,存在单一存储器的有效使用量大于等于文件数据的文件数据量的情况下,可确定采用资源序列中除第一资源序列以外的存储器中,有效使用量大于等于文件数据量的最小存储器,对文件数据量大小的部分第一剩余存储数据进行存储,即可避免采用过大存储器从而造成资源浪费或文件拆分,也可避免单一存储器存放超过文件数据量大小的数据而引起双冗余备份失败,提高了文件存储方法的可靠性。
[0151]
步骤s653:基于文件数据量,以及第一剩余存储数据的存储数据量,获取第三剩余存储数据及其第三剩余存储量,并基于第三剩余存储量确定资源序列中除第一资源序列以外的,用于存储第三剩余存储数据的存储器。
[0152]
其中,第三剩余存储数据可以是指第一剩余存储数据中,除存放于当前第二资源序列中的存储器的部分数据以外的部分数据,也即,第三剩余存储数据可以是第一剩余存储数据的一部分。在完成步骤s652后,可继续确定资源序列中除第一资源序列以外的全部存储器中,用于存储第三剩余存储数据的存储器,并将其也确定为第二资源序列的存储器,直至将第一剩余存储数据全部存储完毕。
[0153]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0154]
本技术还提出一种文件存储方法,如图7所示,图7是本技术文件存储方法的第六实施例的流程示意图,该文件存储方法包括:
[0155]
步骤s71:获取文件的总存储数据,以及存储系统的资源序列。
[0156]
步骤s72:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0157]
步骤s73:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0158]
步骤s74:基于第一存储数据,获取文件的第一剩余存储数据。
[0159]
步骤s75:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0160]
步骤s76:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0161]
第六实施例中的步骤s71-s76与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0162]
文件的文件数据为总存储数据的一半。
[0163]
如图7所示,步骤s75具体可包括:
[0164]
步骤s751:判断第一剩余存储数据的存储数据量是否小于文件数据的文件数据
量。
[0165]
若否,则执行步骤s752及后续的步骤s753。
[0166]
步骤s752:在资源序列中除第一资源序列以外的存储器中,不存在单一存储器的有效使用量大于等于文件数据的文件数据量的情况下,确定资源序列中除第一资源序列以外的存储器中,有效使用量最大的存储器为用于存储第一剩余存储数据的存储器,并将其确定为第二资源序列的存储器。
[0167]
其中,在第一剩余存储数据大于等于文件数据的文件数据量时,需要避免单一存储器存储超过文件数据的文件数据量的第一剩余存储数据的情况发生,这将导致单一存储器内存放有两份文件数据的相同部分,进而将导致双冗余备份的失败。
[0168]
然而,在资源序列中除第一资源序列以外的存储器中,不存在单一存储器的有效使用量大于等于文件数据的文件数据量的情况下,不可能出现单一存储器存放超过文件数据量大小的数据而引起双冗余备份失败的状况,故无需进行该存储器存储第一剩余存储数据的存储数据量的相关逻辑判断,提高了文件存储的速度。
[0169]
之后,确定采用资源序列中除第一资源序列以外的存储器中,有效使用量最大的存储器为用于存储第一剩余存储数据的存储器,以采用单一存储器存放尽可能多的第一剩余存储数据,减少第一剩余存储数据的拆分,提高了文件存储方法的可靠性。
[0170]
步骤s753:基于第二资源序列中的最大有效使用量,以及第一剩余存储数据的存储数据量,获取第四剩余存储数据及其第四剩余存储量,并基于第四剩余存储量确定资源序列中除第一资源序列以外的,用于存储第四剩余存储数据的存储器。
[0171]
其中,第四剩余存储数据可以是指第一剩余存储数据中,除存放于当前第二资源序列中的存储器的部分数据以外的部分数据,也即,第四剩余存储数据可以是第一剩余存储数据的一部分。在完成步骤s752后,可继续确定资源序列中除第一资源序列以外的全部存储器中,用于存储第四剩余存储数据的存储器,并将其也确定为第二资源序列的存储器,直至将第一剩余存储数据全部存储完毕。
[0172]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0173]
本技术还提出一种文件存储方法,如图8所示,图8是本技术文件存储方法的第七实施例的流程示意图,该文件存储方法包括:
[0174]
步骤s81:获取文件的总存储数据,以及存储系统的资源序列。
[0175]
步骤s82:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0176]
步骤s83:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0177]
步骤s84:基于第一存储数据,获取文件的第一剩余存储数据。
[0178]
步骤s85:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序
列。
[0179]
步骤s86:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0180]
第七实施例中的步骤s81-s86与第一实施例中的步骤s21-s26相同,此处不再赘述。
[0181]
如图8所示,该文件存储方法,还包括:
[0182]
步骤s801:基于有效使用量总和,获取资源序列的最大有效使用量。
[0183]
其中,资源序列的最大有效使用量可以是指可以进行双冗余备份的最大的文件数据量,也即在资源序列可以采用双冗余备份的方式存放文件的前提下,文件的文件数据量可以达到的最大理论值。
[0184]
步骤s802:比较最大有效使用量与文件的文件数据量。
[0185]
其中,文件数据量为总存储数据的存储数据量的一半。
[0186]
当最大有效使用量小于文件数据量时,执行步骤s803。
[0187]
步骤s803:返回存储失败的信息。
[0188]
需要说明的是,上述步骤s801-s803可以是步骤s81之前执行的步骤,在步骤s802之后,当最大有效使用量大于或等于文件数据量时,可执行步骤s81-s86的步骤,以完成文件的存储。
[0189]
具体的,可基于上述方式,在存储系统无法对即将存储的文件进行双冗余备份时,向用户返回存储失败的信息,以促使用户实施压缩文件或增加存储系统的存储器等措施,以避免时间的浪费,提高了文件存储的效率。
[0190]
可选地,步骤s801具体可包括:
[0191]
步骤s8011:获取资源序列中存储器的有效使用量最大值。
[0192]
其中,资源序列中存储器的有效使用量最大值具体可以是指,资源序列内的全部存储器的有效使用量中,最大的一有效使用量。
[0193]
当有效使用量最大值小于等于有效使用量总和的一半时,执行步骤s8012。当有效使用量最大值大于有效使用量总和的一半时,执行步骤s8013。
[0194]
步骤s8012:基于有效使用量总和的一半获取最大有效使用量。
[0195]
其中,在有效使用量最大值小于等于资源序列中的全部存储器的有效使用量总和的一半时,可将资源序列中的全部存储器的有效使用量总和的一半确定为最大有效使用量。
[0196]
步骤s8013:基于有效使用量总和与有效使用量最大值的差值获取最大有效使用量。
[0197]
其中,在有效使用量最大值大于资源序列中的全部存储器的有效使用量总和的一半时,可将资源序列中的全部存储器的有效使用量总和减去有效使用量最大值,以得到最大有效使用量。
[0198]
举例说明,资源序列包括第一存储器、第二存储器和第三存储器,表3代表有效使用量最大值小于等于资源序列中的全部存储器的有效使用量总和的一半的情况,表4代表有效使用量最大值大于资源序列中的全部存储器的有效使用量总和的一半的情况,表3和表4如下所示:
[0199] 第一存储器第二存储器第三存储器初始值6mb6mb10mb写入5mb后1mb6mb5mb写入5mb后1mb1mb0mb写入1mb后0mb0mb0mb
[0200]
表3
[0201] 第一存储器第二存储器第三存储器初始值3mb3mb10mb写入3mb后0mb3mb7mb写入3mb后0mb0mb4mb
[0202]
表4
[0203]
如表3所示,在有效使用量最大值(第三存储器的10mb)小于等于资源序列中的全部存储器的有效使用量总和(第一存储器的6mb与第二存储器的6mb与第三存储器的10mb之和,即22mb)的一半的情况下,在进行双冗余备份时,理论上,是可以将资源序列中的全部存储器的有效使用量均使用完毕的,也即可进行双冗余备份的最大文件的文件数据量,可以是资源序列中的全部存储器的有效使用量总和的一半,如表3所示,可进行双冗余备份的最大文件的文件数据量是11mb,也即(22mb
÷
2)的值。
[0204]
如表4所示,在有效使用量最大值(第三存储器的10mb)大于资源序列中的全部存储器的有效使用量总和(第一存储器的3mb与第二存储器的3mb与第三存储器的10mb之和,即16mb)的一半的情况下,在进行双冗余备份时,无论如何分配每一次存储写入各存储器的数据量,理论上,可进行双冗余备份的最大文件的文件数据量,只能是有效使用量总和与有效使用量最大值的差值,如表4所示,可进行双冗余备份的最大文件的文件数据量是6mb,也即(16mb-10mb)的值。
[0205]
基于上述方式,可准确获取资源序列的最大有效使用量,以在开始进行资源分配前,进一步的,基于该最大有效使用量,可确定存储系统的资源序列是否足以对文件的总存储数据进行双冗余备份,并在无法进行双冗余备份时向用户发出相应提示,以提高文件存储方法的可靠性。
[0206]
本技术还提出一种文件存储方法,如图9所示,图9是本技术文件存储方法的第八实施例的流程示意图,该文件存储方法包括:
[0207]
步骤s91:获取文件的总存储数据,以及存储系统的资源序列。
[0208]
步骤s92:基于资源序列的有效使用量总和以及总存储数据的存储数据量,获取使用量上限值。
[0209]
步骤s93:确定存储文件的第一存储数据的第一存储量及其第一资源序列。
[0210]
步骤s94:基于第一存储数据,获取文件的第一剩余存储数据。
[0211]
步骤s95:确定存储文件的第一剩余存储数据的第一剩余存储量及其第二资源序列。
[0212]
步骤s96:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列存储总存储数据。
[0213]
第八实施例中的步骤s91-s96与第一实施例中的步骤s21-s26相同,此处不再赘
述。
[0214]
其中,总存储数据包括待依次存储的两份文件数据。
[0215]
如图9所示,步骤s96具体可包括:
[0216]
步骤s961:基于第一存储量及其第一资源序列、第一剩余存储量及其第二资源序列,确定目标资源序列中每一存储器的当前待存储量。
[0217]
其中,目标资源序列包括第一资源序列和第二资源序列中的全部存储器。
[0218]
步骤s962:基于当前待存储量的数量对目标资源序列中的存储器进行排序。
[0219]
步骤s963:选择排序后的目标资源序列前端第一个当前待存储量不为零的存储器存储总存储数据。
[0220]
步骤s964:存储完成后,选择排序后的目标资源序列后端第一个当前待存储量不为零的存储器存储总存储数据。
[0221]
循环执行步骤s963和步骤s964。
[0222]
具体的,步骤s962具体可以是基于当前待存储量的数量,按照从小到大或从大到小的方式,将目标资源序列中的存储器进行排序。
[0223]
举例说明,以从小到大排列为例,排序后的存储器序列包括:第一待存存储器-1mb,第二待存存储器-2mb,第三待存存储器-3mb,第四待存存储器-4mb。
[0224]
循环执行步骤s963和步骤s964的具体流程如下:
[0225]
先向第一待存存储器写入1mb的总存储数据,再向第四待存存储器写入4mb的总存储数据,然后向第二待存存储器写入2mb的总存储数据,最后向第三待存存储器写入3mb的总存储数据。
[0226]
在其它实施例中,写入顺序还可以是第四待存存储器-第一待存存储器-第三待存存储器-第二待存存储器,或者是第二待存存储器-第三待存存储器-第一待存存储器-第四待存存储器,又或者是第三待存存储器-第二待存存储器-第四待存存储器-第一待存存储器。
[0227]
采用上述方式进行总存储数据写入的好处在于,在总存储数据为10mb时,也即文件数据为5mb时,一份总存储数据包含两份需要依次写入存储系统的文件数据。
[0228]
在上述举例的情况下,在采用该存储写入方式后,可使第一待存存储器和第四待存存储器存放一份文件数据,并使第二待存存储器和第三待存存储器存放另一份文件数据,也即,第一份文件数据被拆分成两份,第二份文件数据被拆分成两份,总存储数据总共被拆分为四份。
[0229]
在上述举例的情况下,以采用从小到大的写入方式为例,写入顺序为第一待存存储器-第二待存存储器-第三待存存储器-第四待存存储器,则第一份文件数据将会在第一待存存储器、第二待存存储器和第三待存存储器中分别存放1mb、2mb和2mb,第二份文件数据将会在第三待存存储器和第四待存存储器中分别存放1mb和4mb,也即,第一份文件数据被拆分成三份,第二份文件数据被拆分成两份,总存储数据总共被拆分为五份。
[0230]
由上可见,采用本实施例所采用的写入方式,可以最大程度减少总存储数据或文件数据的总拆分份数,降低了数据因拆分而损坏的风险,提高了文件存储方法的可靠性。
[0231]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值
的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0232]
本技术还提出一种终端设备,如图10所示,图10是本技术终端设备的一实施例的结构示意图,终端设备100包括:处理器101、存储器102以及总线103。
[0233]
该处理器101、存储器102分别与总线103相连,该存储器102中存储有程序指令,处理器101用于执行程序指令以实现上述实施例中的文件存储方法。
[0234]
在本实施例中,处理器101还可以称为cpu(central processing unit,中央处理单元)。处理器101可能是一种集成电路芯片,具有信号的处理能力。处理器101还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器101也可以是任何常规的处理器等。
[0235]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0236]
本技术还提出一种计算机可读存储介质,如图11所示,图11是本技术计算机可读存储介质的一实施例的结构示意图,计算机可读存储介质110其上存储有程序指令111,程序指令111被处理器(图未示)执行时实现上述实施例中的文件存储方法。
[0237]
本实施例计算机可读存储介质110可以是但不局限于u盘、sd卡、pd光驱、移动硬盘、大容量软驱、闪存、多媒体记忆卡、服务器、fpga或asic中的存储单元等。
[0238]
区别于现有技术,本技术的技术方案通过先基于资源序列的有效使用量总和总存储数据的存储数据量,确定使用量上限值,再将资源序列中各存储器超过该使用量上限值的有效使用量部分确定为第一存储量所对应的部分,并确定有效使用量超过该使用量上限值的存储器为第一资源序列中的存储器,之后基于总存储数据和第一存储数据得到第一剩余存储数据,再确定用于存储第一剩余存储数据的第二资源序列,最后采用第一资源序列和第二资源序列存储该总存储数据,避免使得资源序列中出现有效使用量超过使用量上限值的存储器,进而避免了存储器资源的浪费,提高了文件存储方法的可靠性。
[0239]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1