一种基于分布式文件系统的跳读预读方法及装置与流程

文档序号:36173285发布日期:2023-11-24 16:49阅读:37来源:国知局
一种基于分布式文件系统的跳读预读方法及装置与流程

本发明涉及分布式文件系统,具体涉及一种基于分布式文件系统的跳读预读方法及装置。


背景技术:

1、随着计算机应用的不断发展,文件系统在各个领域中扮演着至关重要的角色,用于存储和管理各种类型的数据。在大规模数据处理和分布式计算场景下,文件的读取性能显得尤为重要。然而,由于文件的存储方式以及访问模式的多样性,存在许多性能瓶颈,其中之一是文件的跳读操作。

2、文件跳读是指在文件中不按顺序读取数据,而是根据一定的规律跳过一些数据块来进行读取。这种跳跃式的读取方式在某些场景下能够提高读取效率,但也带来了一些问题。传统的文件系统在支持跳读操作时存在一些局限性,例如只能支持固定步长的跳读,导致无法满足实际应用中步长可变的需求。此外,传统的预读机制也未能充分发挥跳读操作的优势,导致系统在处理大规模跳读时性能下降。

3、因此,当前分布式文件系统中,当前的文件跳读和预读机制存在一些问题,主要包括:

4、(1)步长不变问题:传统文件系统仅支持固定步长的跳读,无法满足实际应用中步长可变的需求,导致性能下降。

5、(2)预读机制不足:传统预读机制未能有效地适应跳读操作,导致系统在处理跳读时预读效果有限。

6、(3)跳读模式识别问题:当前文件系统对于不同的跳读模式未能进行有效识别和优化,无法针对不同模式提供针对性的优化措施。

7、为此,需要一种新的方法和装置,能够识别不同步长的跳读模式,并相应地优化预读机制,以提高分布式文件系统的数据读取性能。


技术实现思路

1、有鉴于此,本发明提出了一种基于分布式文件系统的跳读预读方法及装置,通过记录分析数据读取偏移和长度,进行模式识别,惩罚机制和预读机制,实现了更高效的文件跳读和预读,提升系统性能;本发明能够有效地识别不同的跳读模式并相应地优化跳读和预读操作,以提高系统数据读取性能。

2、基于上述目的,第一方面,本发明提供了一种基于分布式文件系统的跳读预读方法,该方法包括以下步骤:

3、记录分析数据读取的偏移(off)和数据读取长度(len),计算文件跳读的步长(skip);

4、进行模式识别,根据跳读步长的变化,判定跳读模式类型,包括严格跳读、2元严格交替跳读和局部随机跳读;

5、实施惩罚机制,对缓存命中和不命中的情况进行处理,保持跳读模式的持续性;

6、针对不同跳读模式,设计相应的预读机制,包括严格跳读预读、2元严格交替跳读预读和等差跳读与局部随机跳读预读。

7、作为本发明的进一步方案,跳读模式为严格跳读,严格跳读预读机制包括:

8、首次读取当前数据块;

9、预读(off+len+skip,len)和(off+2*len+2*skip,len)两个数据块;

10、在预读数据长度的1/2处设置预读标记,逐步增加预读数据块数量,预读数据块总长度具有上限;

11、采用异步循环下发方式进行预读请求。

12、作为本发明的进一步方案,跳读模式为2元严格交替跳读,2元严格交替跳读预读机制包括:

13、每次预读至少两个数据块,包括(off+len+skip,len)和(off+2*len+skip1+skip2,len);

14、在缓存命中后,逐步增加预读数据块数量;

15、预读标记位置和预读长度上限与严格跳读相同。

16、作为本发明的进一步方案,跳读模式为等差跳读与局部随机跳读,等差跳读与局部随机跳读预读机制包括:

17、根据跳读步长累加值计算预读长度;

18、进行局部随机预读,预读标记设置在预读长度的1/3处;

19、在数据读取到等差跳读的前一个位置时,判断缓存是否存在,不存在则进行数据预读。

20、作为本发明的进一步方案,模式识别包括以下步骤:

21、若skip_list[].size=1,判定为严格跳读模式;

22、若skip_list[].size=2,且skip_i=skip_i+2,判定为2元严格交替跳读模式;

23、若skip_list[].size>50,判定为随机跳读模式;

24、对每个skip_i[]进行等差数列验证,若为等差数列且skip_list[].size skip_i的个数n<10,标记为局部随机读,否则标记为随机跳读。

25、作为本发明的进一步方案,惩罚机制包括以下情况:

26、若缓存命中,持续使用已识别的模式;

27、若缓存不命中,若不命中的缓存数据正在预读的数据中,不进行惩罚;

28、若缓存不命中,若不命中的数据未进行预读,则重新进行模式识别,原有缓存数据暂不清理。

29、作为本发明的进一步方案,在模式识别过程中,对每组数据记录的skip计算结果,记录在skip_list[]中,形式为(skip_i,skip_i[]),其中skip_i[]表示相同skip在读取过程中的次序,用于模式识别。

30、第二方面,本发明还提供了一种基于分布式文件系统的跳读预读装置,包括:

31、数据分析模块,用于记录分析数据读取的偏移(off)和数据读取长度(len),计算文件跳读的步长(skip);

32、模式识别模块,用于根据跳读步长的变化,判定跳读模式类型,包括严格跳读、2元严格交替跳读和局部随机跳读;

33、惩罚机制模块,用于对缓存命中和不命中的情况进行处理,保持跳读模式的持续性;

34、预读机制模块,用于针对不同跳读模式,设计相应的预读机制,包括严格跳读预读、2元严格交替跳读预读和等差跳读与局部随机跳读预读。

35、作为本发明的进一步方案,跳读模式为严格跳读,严格跳读预读机制包括:

36、预读(off+len+skip,len)和(off+2*len+2*skip,len)两个数据块;

37、在预读数据长度的1/2处设置预读标记,逐步增加预读数据块数量,预读数据块总长度具有上限;

38、采用异步循环下发方式进行预读请求。

39、作为本发明的进一步方案,跳读模式为2元严格交替跳读,2元严格交替跳读预读机制包括:

40、每次预读至少两个数据块,包括(off+len+skip,len)和(off+2*len+skip1+skip2,len);

41、在缓存命中后,逐步增加预读数据块数量;

42、预读标记位置和预读长度上限与严格跳读相同。

43、作为本发明的进一步方案,跳读模式为等差跳读与局部随机跳读,等差跳读与局部随机跳读预读机制包括:

44、根据跳读步长累加值计算预读长度;

45、进行局部随机预读,预读标记设置在预读长度的1/3处;

46、在数据读取到等差跳读的前一个位置时,判断缓存是否存在,不存在则进行数据预读。

47、作为本发明的进一步方案,模式识别模块包括以下步骤:

48、若skip_list[].size=1,判定为严格跳读模式;

49、若skip_list[].size=2,且skip_i=skip_i+2,判定为2元严格交替跳读模式;

50、若skip_list[].size>50,判定为随机跳读模式;

51、对每个skip_i[]进行等差数列验证,若为等差数列且skip_list[].size skip_i的个数n<10,标记为局部随机读,否则标记为随机跳读。

52、作为本发明的进一步方案,惩罚机制模块包括以下情况:

53、若缓存命中,持续使用已识别的模式;

54、若缓存不命中,若不命中的缓存数据正在预读的数据中,不进行惩罚;

55、若缓存不命中,若不命中的数据未进行预读,则重新进行模式识别,原有缓存数据暂不清理。

56、作为本发明的进一步方案,数据分析模块记录101组数据的偏移(off)和数据读取长度(len),并计算文件跳读的步长(skip),形成用于模式识别的数据基础。

57、作为本发明的进一步方案,该装置能够识别不同的跳读模式并相应地优化跳读和预读操作,从而有效提高系统分布式文件系统的数据读取性能。

58、本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的基于分布式文件系统的跳读预读方法。

59、本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的基于分布式文件系统的跳读预读方法。

60、与现有技术相比较而言,本发明提出的一种基于分布式文件系统的跳读预读方法及装置,具有以下有益效果:

61、1.优化数据读取性能:本发明采用针对不同跳读模式的优化策略,有效地识别并优化严格跳读、2元严格交替跳读和局部随机跳读等不同模式,从而在不同场景下优化数据读取,显著提高了分布式文件系统的数据读取性能。

62、2.增强预读机制:传统文件系统的预读机制未能充分适应跳读操作,而本发明根据实际跳读模式设计了针对性的预读策略,使预读更加智能和高效。通过合理的预读机制,可以在跳读操作中充分利用数据缓存,减少io操作次数,进一步加速数据访问速度。

63、3.灵活适应跳读变化:本发明通过模式识别和惩罚机制,能够实时地适应不同的跳读模式的变化;即使跳读模式发生变化,也能够快速地重新识别并调整预读策略,从而保持高效的数据读取性能,提供更好的用户体验。

64、4.提高系统带宽性能:本发明的预读机制和优化策略能够有效地提高文件跳读操作的带宽性能,尤其是在大规模数据处理和分布式计算场景下。通过减少不必要的数据读取延迟和io操作,可以更充分地利用系统资源,提升整体的数据读取效率。

65、5.低成本高兼容性:本发明的基于分布式文件系统的跳读预读方法及装置能够与现有的分布式存储引擎兼容,无需大规模改动现有系统结构。同时,本发明的设计思路简单,产生的额外资源消耗较低,能够在不增加过多系统开销的情况下获得显著的性能提升。

66、综上所述,本发明的基于分布式文件系统的跳读预读方法及装置在提升数据读取性能、优化预读机制、适应跳读变化等方面具有显著的有益效果,有望在大规模数据处理、分布式计算等领域广泛应用。

67、本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1