一种碎片化数据读取方法、装置及介质与流程

专利2022-05-09  20



1.本申请涉及计算机技术领域,特别是涉及一种碎片化数据读取方法、装置及介质。


背景技术:

2.随着科技的发展,存储系统已成为生产实践中必不可少的一部分,即生产实践中相关文件和数据主要通过存储系统进行存储。而存储系统中数据的修改以及随机小输入/输出(input/output,i/o)场景会导致存储的数据碎片化,故通常需要分别读取每一个碎片数据,进行拼装连接后再存入存储系统,因此待读取数据区域内包含有多少个碎片,就需要在拼装过程中执行多少次读取操作,这将大量消耗存储系统的i/o性能。
3.为了减少存储系统的i/o性能的消耗,常用方法是通过增加存储系统的带宽开销,即按照预先设定的数量将多个碎片数据对应的多次i/o操作合并为一次i/o操作。由于碎片数据的分布是未知且不均匀的,无法避免相邻碎片数据间的空隙较大却合并i/o操作导致过度消耗带宽性能的问题,因此降低了存储系统的整体性能。
4.由此可见,如何避免过度消耗带宽性能的问题,从而提高存储系统的整体性能是本领域技术人员亟待解决的问题。


技术实现要素:

5.本申请的目的是提供一种碎片化数据读取方法,用以避免过度消耗带宽性能的问题,提高存储系统的整体性能。本申请的目的是还提供一种碎片化数据读取装置及介质。
6.为解决上述技术问题,本申请提供一种碎片化数据读取方法,包括:
7.预先设置各数据所占空间与各性能等效比的对应关系;
8.从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象;
9.判断当前待合并对象是否符合合并条件,其中所述合并条件具体为:依据所述对应关系得到当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和;
10.如果是,则对当前待合并对象进行合并i/o操作。
11.优选的,所述对当前待合并对象进行合并i/o操作后,还包括:
12.判断所述待读取区域内的所述碎片数据的个数是否大于1;
13.如果是,则返回所述从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象的步骤。
14.优选的,在当前待合并对象不符合所述合并条件的情况下,还包括:
15.判断当前待合并对象内的碎片数据是否大于2;
16.如果是,则判断当前待合并对象中是否存在相邻的至少两个碎片数据符合所述合并条件;
17.如果是,则对当前待合并对象中符合所述合并条件的碎片数据进行合并i/o操作。
18.优选的,当前待合并对象所对应的碎片数据所占空间按2
n
进行选取,其中n为正整
数。
19.优选的,所述n为不小于7的整数。
20.优选的,所述预先设置各数据所占空间与各性能等效比的对应关系后,还包括:存储各所述数据所占空间与各所述性能等效比的对应关系。
21.优选的,所述预先设置各数据所占空间与各性能等效比的对应关系,具体为:预先按2
k
设置各所述数据所占空间与各所述性能等效比的对应关系,其中k为不小于2的整数。
22.为解决上述技术问题,本申请还提供一种碎片化数据读取装置,包括:
23.设置模块,用于预先设置各数据所占空间与各性能等效比的对应关系;
24.选择模块,用于从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象;
25.第一判断模块,用于判断当前待合并对象是否符合合并条件,其中所述合并条件具体为:依据所述对应关系得到当前待合并对象的总体数据所占空间对应的第一目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的第一性能等效比总和;
26.第一合并模块,用于如果是,则对当前待合并对象进行合并i/o操作。
27.为解决上述技术问题,本申请还提供一种碎片化数据读取装置,包括:
28.存储器,用于存储计算机程序;
29.处理器,用于执行所述计算机程序时实现如上所述的碎片化数据读取方法的步骤。
30.为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的碎片化数据读取方法的步骤。
31.本申请所提供的碎片化数据读取方法,由于预先设置有各数据所占空间与各性能等效比的对应关系,因此在判断是否要合并i/o操作时,能够通过该对应关系分别计算合并前读取碎片数据的性能消耗、以及合并后读取碎片数据的性能消耗,从而避免了合并i/o操作导致过度消耗带宽性能的问题,提高了存储系统的整体性能。
32.此外,本申请提供的一种碎片化数据读取装置及介质,与上述碎片化数据读取方法对应,效果同上。
附图说明
33.为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本申请实施例提供的一种碎片化数据读取方法的流程图;
35.图2为本申请实施例提供的一种碎片化数据读取装置的结构示意图;
36.图3为本申请实施例提供的另一种碎片化数据读取装置的结构示意图。
具体实施方式
37.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本
申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
38.本申请的核心是提供一种碎片化数据读取方法,用以避免过度消耗带宽性能的问题,提高存储系统的整体性能。本申请的核心是还提供一种碎片化数据读取装置及介质。
39.为了便于理解,下面将对本申请所适用的系统架构进行介绍,本申请所提供的方法适用于存储系统,存储系统包括存储装置和服务器。
40.服务器与存储装置通信连接,用于实现碎片化数据的读取、拼装连接并将拼装连接后的数据最终发送至存储装置,以便于在存储装置中存储。在实现碎片化数据的读取过程中,服务器具体用于获取预先设置的各数据所占空间与各性能等效比的对应关系,从存储装置中的待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象,针对当前待合并对象判断是否符合合并条件,如果是,则从存储装置中的待读取区域中合并读取当前待合并对象,如果否,则从存储装置中的待读取区域中分别读取碎片数据。可以理解的是,服务器包括但不限于云服务器、物理服务器和虚拟服务器等。还需说明的是,当存储系统具体为分布式存储系统,则上述服务器实现的功能可由节点实现,从而降低分布式存储系统中服务器的工作量,其中节点可以是物理节点、也可以是虚拟节点。
41.为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
42.图1为本申请实施例提供的一种碎片化数据读取方法的流程图。如图1所示,该方法应用于上述服务器或上述节点,该方法包括:
43.s10:预先设置各数据所占空间与各性能等效比的对应关系。
44.本申请实施例中,性能等效比具体是指以读写4kb大小数据为基线,计算读写各大小数据对磁盘整体性能的消耗等价于若干个读写4kb数据对磁盘整体性能消耗的综合,其中计算的“若干个”即为最终得到的性能等效比,可以理解的是,性能等效比的数据类型并不固定,即计算得到的性能等效比可以是整数,也可以是小数。
45.为了确保预先设置的对应关系能够准确的反映读取各数据大小对磁盘整体性能的消耗,在具体实施中,通过实验数据计算读取各数据对应的性能等效比,并以此形成各数据所占空间与各性能等效比的对应关系。其中,实验数据可以是通过一个未存储数据的磁盘,通过向该磁盘读写所占空间不同的各数据,从而获得各数据所占空间与各性能等效比的对应关系。
46.作为优选的实施例,还包括:存储各数据所占空间与各性能等效比的对应关系。可以理解的是,在确定各数据所占空间与各性能等效比的对应关系后,为了方便在真正使用过程中对该对应关系进行快速的访问,从而提高判断待合并对象是否需要合并i/o操作的快速性。在具体实施中,可将上述对应关系存储于内存或读取速度较快的固态硬盘中。
47.s11:从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象。
48.可以理解的是,当待读取区域内存在至少两个碎片数据的情况下,即可判断待读取区域是否存在能够合并的碎片数据。在具体实施中,可从待读取区域内任意选择相邻的碎片数据,其中相邻碎片数据的个数与用户需求匹配即可,例如当用户需求表示对待读取区域进行详细的合并i/o操作判断、以此进一步提高存储系统的整体性能时,则当前待合并对象中包含相邻的两个碎片数据;当用户需求表示对待读取区域进行快速的合并i/o操作
判断时,则当前待合并对象中可包含相邻的至少三个碎片数据(例如包含有十个碎片数据)。
49.s12:判断当前待合并对象是否符合合并条件,如果是,则进入s13,如果否,则结束。
50.需要说明的是,上述合并条件具体为:当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和。其中,目标性能等效比和性能等效比总和均通过上述对应关系计算得到。
51.s13:对当前待合并对象进行合并i/o操作。
52.可以理解的是,在当前待合并兑现不符合合并条件的情况下,则采用分别读取碎片数据的操作,将碎片数据进行拼接。
53.本申请实施例所提供的碎片化数据读取方法,预先设置各数据所占空间与各性能等效比的对应关系,从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象,在当前待合并对象符合合并条件的条件下,对当前待合并对象进行合并i/o操作,其中合并条件具体为:依据对应关系得到当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和。由于预先设置有各数据所占空间与各性能等效比的对应关系,因此在判断是否要合并i/o操作时,能够通过该对应关系分别计算合并前读取碎片数据的性能消耗、以及合并后读取碎片数据的性能消耗,从而避免了合并i/o操作导致过度消耗带宽性能的问题,提高了存储系统的整体性能。
54.在上述实施例中,仅对不同当前待合并对象中存在的碎片数据进行合并i/o操作的判断,而并未考虑不同当前待合并对象之间是否存在能够进行合并i/o操作的相邻的两个当前待合并对象,从而进一步提高存储系统的整体性能。因此,在上述实施例的基础上,s13后,还包括:
55.判断待读取区域内的碎片数据的个数是否大于1,如果是,则返回s11。
56.本申请实施例中,在当前待合并对象进行合并i/o操作的情况下,则将当前待合并对象替代当前待合并对象中存在的碎片数据视为碎片数据,以此为基础判断待读取区域内的碎片数据的个数是否大于1;如果当前待合并对象不进行合并操作,则仍由当前待合并对象中的碎片数据进入判断待读取区域内的碎片数据的个数是否大于1的步骤,如果大于1则重新选择当前待合并对象,相当于逐级分段对待读取区域进行合并i/o操作的判断。
57.为了使本技术领域的人员更好地理解本申请实施例,下面将举例进行说明:假设待读取区域内存在a、b、c、d四种碎片(a、b、c、d按顺序排列)。
58.当一次合并i/o操作的判断中至少有一个当前待合并对象进行合并i/o操作时:首先将这四种碎片分为a、b一组,c、d一组,在碎片a、b符合合并条件且碎片c、d符合合并条件的情况下,将对a、b进行合并操作后的碎片数据记为a’,c、d进行合并操作后的碎片数据记为c’,此时经过一次合并i/o操作的判断后,待读取区域内还存在两个碎片数据(分别为a’和c’),则对a’和c’进行二次合并i/o操作的判断,如果a’和c’符合合并条件则对a、b、c、d进行整体合并操作,如果a’和c’不符合合并条件则对a和b、c和d进行合并操作。
59.当一次合并i/o操作的判断中所有当前待合并对象均不进行合并i/o操作时:首先将这四种碎片分为a、b一组,c、d一组,在碎片a、b不符合合并条件且碎片c、d不符合合并条
件的情况下,重新从碎片a、b、c、d中选择当前待合并对象a、b、c,若在对a、b、c二次合并i/o操作的判断中,可对a、b、c进行合并操作,则将a、b、c进行合并操作后的碎片数据记为b’,并对b’和d进行三次合并i/o操作。
60.此外,在上文所述的待读取区域内选取的当前待合并对象的个数不做具体限制,可以是在除去最后一次合并i/o操作判断外,将待读取区域内的碎片数据按照用户需求进行分段,每一段对应一个当前待合并对象,也可以是只从待读取区域内按用户需求选择一个当前待合并对象。例如,以待读取区域内存在a、b、c、d四种碎片(a、b、c、d按顺序排列)为例,当除最后一次合并i/o操作外、从待读取区域中选择多个合并对象时,从待读取区域内中选择两个待合并对象分别为a和b、c和d,在两个待合并对象均进行合并操作的情况下,将a’和c’视为第二次合并i/o操作判断中的当前读取区域(其中,a’为a和b合并操作后的碎片数据,c’为c和d合并操作后的碎片数据);当每次只从待读取区域内选择一个当前待合并对象时,从待读取区域内选择a和b作为第一次进行合并i/o操作判断的当前待合并对象,在待合并对象进行合并操作的情况下,从a’、b和c中选择a’和b作为第二次进行合并i/o操作判断的当前待合并对象(其中,a’为a和b合并操作后的碎片数据),直至a、b、c、d中所有的碎片数据均参加过合并i/o操作判断。
61.需要说明的是,上述用户需求可以是按磁盘空间大小进行当前待合并对象的选取,也可以是按磁盘空间中碎片数据的数量进行当前待合并对象的选取。
62.本申请实施例所提供的碎片化数据读取方法,由于在对不同当前待合并对象中存在的碎片数据进行合并i/o操作的判断后,通过循环的方式对不同当前待合并对象之间进行合并i/o操作的判断,实现了对待读取区域进行逐级分段的合并i/o操作判断,以便于得到该待读取区域中碎片数据读取方式的最优结果,进一步提高了存储系统的整体性能。
63.在上述实施例的基础上,在当前待合并对象不符合所述合并条件的情况下,还包括:
64.判断当前待合并对象内的碎片数据是否大于2;
65.如果是,则判断当前待合并对象中是否存在相邻的至少两个碎片数据符合合并条件;
66.如果是,则对当前待合并对象中符合合并条件的碎片数据进行合并i/o操作。
67.需要说明的是,合并条件具体为:当前待合并对象中相邻的至少两个碎片数据的总体所占空间对应的目标性能等效比不大于当前待合并对象中对应的至少两个碎片数据各所占空间对应的性能等效比总和。其中,目标性能等效比和性能等效比总和均通过上述对应关系计算得到。
68.本申请实施例所提供的碎片化数据读取方法,由于上述实施例中,s11并未强调的当前待合并对象中碎片数据的数量,因此在选择当前待合并对象时存在待合并对象中碎片数据过多的问题,导致无法对当前待合并对象中所有的碎片数进行合并i/o操作、但当前待合并对象中存在能够合并的相邻的至少两个碎片数据这一问题,通过在当前待合并对象中碎片数据过多的情况下,在在当前待合并对象中重新选择对象,进而判断当前待合并对象中是否存在相邻的至少两个碎片数据符合合并条件,因此进一步提高了存储系统的整体性能。
69.在上述实施例的基础上,当前待合并对象所对应的碎片数据所占空间按2
n
进行选
取,其中n为正整数。
70.可以理解的是,由于在磁盘中存储的数据所占空间为2
n
,因此为了便于选择当前待合并对象,在具体实施中按2
n
选择当前待合并对象,或者按2
n
对待读取区域进行分段,每一段对应一个当前待合并对象。
71.进一步的,为了避免在第一次进行合并i/o操作判断时,选择的当前待合并对象所占空间过大,导致无法得到待读取区域中读取碎片数据的最优方式,同时为了避免在进行合并i/o操作判断过程中,选择的当前待合并对象所占空间过小,导致合并i/o操作判断次数过多影响存储系统的整体性能,作为优选的实施例,n为不小于7的整数,即当前待合并对象所占空间最低为128kb。
72.在上述实施例的基础上,预先设置各数据所占空间与各性能等效比的对应关系,具体为:预先按2
k
设置各数据所占空间与各性能等效比的对应关系,其中k为不小于2的整数。
73.可以理解的是,由于碎片数据所占空间具体为2
k
且碎片数据最小所占空间为4kb,因此为了减少存储上述对应关系所需的存储空间,同时为了降低在判断当前待合并对象是否符合合并条件的过程中,搜索上述对应关系的速度,在具体实施中,获取按2
k
读取各碎片数据对应的系统整体性能的消耗。
74.在上述实施例中,对于碎片化数据读取方法进行了详细描述,本申请还提供碎片化数据读取装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
75.图2为本申请实施例提供的一种碎片化数据读取装置的结构示意图。如图2所示,基于功能模块的角度,该装置包括:
76.设置模块10,用于预先设置各数据所占空间与各性能等效比的对应关系。
77.选择模块11,用于从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象。
78.第一判断模块12,用于判断当前待合并对象是否符合合并条件,其中合并条件具体为:依据对应关系得到当前待合并对象的总体数据所占空间对应的第一目标性能等效比不大于当前待合并对象中各碎片数据所占空间对应的第一性能等效比总和。
79.第一合并模块13,用于如果是,则对当前待合并对象进行合并i/o操作。
80.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
81.作为优选的实施例,还包括:
82.第二判断模块,用于判断待读取区域内的碎片数据的个数是否大于1。
83.返回模块,用于如果是,则返回从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象的步骤。
84.作为优选的实施例,在当前待合并对象不符合合并条件的情况下,还包括:
85.第三判断模块,用于判断当前待合并对象内的碎片数据是否大于2。
86.第四判断模块,用于如果是,则判断当前待合并对象中是否存在相邻的至少两个碎片数据符合合并条件。
87.第二合并模块,用于如果是,则对当前待合并对象中符合合并条件的碎片数据进
行合并i/o操作。
88.还包括:
89.存储模块,用于存储各数据所占空间与各性能等效比的对应关系。
90.本申请实施例所提供的碎片化数据读取装置,预先设置各数据所占空间与各性能等效比的对应关系,从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象,在当前待合并对象符合合并条件的条件下,对当前待合并对象进行合并i/o操作,其中合并条件具体为:依据对应关系得到当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和。由于预先设置有各数据所占空间与各性能等效比的对应关系,因此在判断是否要合并i/o操作时,能够通过该对应关系分别计算合并前读取碎片数据的性能消耗、以及合并后读取碎片数据的性能消耗,从而避免了合并i/o操作导致过度消耗带宽性能的问题,提高了存储系统的整体性能。
91.图3为本申请实施例提供的另一种碎片化数据读取装置的结构示意图。如图3所示,基于硬件结构的角度,该装置包括:
92.存储器20,用于存储计算机程序;
93.处理器21,用于执行计算机程序时实现如上述实施例中碎片化数据读取方法的步骤。
94.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
95.存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序201被处理器21加载并执行之后,能够实现前述任一实施例公开的碎片化数据读取方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括windows、unix、linux等。数据203可以包括但不限于碎片化数据读取方法中涉及的数据等。
96.在一些实施例中,碎片化数据读取装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
97.本领域技术人员可以理解,图3中示出的结构并不构成对碎片化数据读取装置的限定,可以包括比图示更多或更少的组件。
98.本申请实施例提供的碎片化数据读取装置,包括存储器和处理器,处理器在执行
存储器存储的程序时,能够实现如下方法:预先设置各数据所占空间与各性能等效比的对应关系,从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象,在当前待合并对象符合合并条件的条件下,对当前待合并对象进行合并i/o操作,其中合并条件具体为:依据对应关系得到当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和。由于预先设置有各数据所占空间与各性能等效比的对应关系,因此在判断是否要合并i/o操作时,能够通过该对应关系分别计算合并前读取碎片数据的性能消耗、以及合并后读取碎片数据的性能消耗,从而避免了合并i/o操作导致过度消耗带宽性能的问题,提高了存储系统的整体性能。
99.最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
100.可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
101.以上对本申请所提供的一种碎片化数据读取方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
102.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术特征:
1.一种碎片化数据读取方法,其特征在于,包括:预先设置各数据所占空间与各性能等效比的对应关系;从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象;判断当前待合并对象是否符合合并条件,其中所述合并条件具体为:依据所述对应关系得到当前待合并对象的总体数据所占空间对应的目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的性能等效比总和;如果是,则对当前待合并对象进行合并i/o操作。2.根据权利要求1所述的碎片化数据读取方法,其特征在于,所述对当前待合并对象进行合并i/o操作后,还包括:判断所述待读取区域内的所述碎片数据的个数是否大于1;如果是,则返回所述从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象的步骤。3.根据权利要求1所述的碎片化数据读取方法,其特征在于,在当前待合并对象不符合所述合并条件的情况下,还包括:判断当前待合并对象内的碎片数据是否大于2;如果是,则判断当前待合并对象中是否存在相邻的至少两个碎片数据符合所述合并条件;如果是,则对当前待合并对象中符合所述合并条件的碎片数据进行合并i/o操作。4.根据权利要求1至3任意一项所述的碎片化数据读取方法,其特征在于,当前待合并对象所对应的碎片数据所占空间按2
n
进行选取,其中n为正整数。5.根据权利要求4所述的碎片化数据读取方法,其特征在于,所述n为不小于7的整数。6.根据权利要求1所述的碎片化数据读取方法,其特征在于,所述预先设置各数据所占空间与各性能等效比的对应关系后,还包括:存储各所述数据所占空间与各所述性能等效比的对应关系。7.根据权利要求1所述的碎片化数据读取方法,其特征在于,所述预先设置各数据所占空间与各性能等效比的对应关系,具体为:预先按2
k
设置各所述数据所占空间与各所述性能等效比的对应关系,其中k为不小于2的整数。8.一种碎片化数据读取装置,其特征在于,包括:设置模块,用于预先设置各数据所占空间与各性能等效比的对应关系;选择模块,用于从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象;第一判断模块,用于判断当前待合并对象是否符合合并条件,其中所述合并条件具体为:依据所述对应关系得到当前待合并对象的总体数据所占空间对应的第一目标性能等效比不大于当前待合并对象中各所述碎片数据所占空间对应的第一性能等效比总和;第一合并模块,用于如果是,则对当前待合并对象进行合并i/o操作。9.一种碎片化数据读取装置,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的碎片化数据读取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的碎片化数据读取方法的步骤。
技术总结
本申请公开了一种碎片化数据读取方法、装置及介质,其中方法包括:预先设置各数据所占空间与各性能等效比的对应关系,从待读取区域中选择相邻的至少两个碎片数据作为当前待合并对象,在当前待合并对象符合合并条件的条件下,对当前待合并对象进行合并I/O操作。由于预先设置有各数据所占空间与各性能等效比的对应关系,因此在判断是否要合并I/O操作时,能够通过该对应关系分别计算合并前读取碎片数据的性能消耗、以及合并后读取碎片数据的性能消耗,从而避免了合并I/O操作导致过度消耗带宽性能的问题,提高了存储系统的整体性能。提高了存储系统的整体性能。提高了存储系统的整体性能。


技术研发人员:胡毅 孟祥瑞
受保护的技术使用者:山东英信计算机技术有限公司
技术研发日:2021.04.01
技术公布日:2021/7/15

转载请注明原文地址:https://doc.8miu.com/read-650416.html

最新回复(0)