数据访问方法、装置、设备及可读存储介质制造方法及图纸

技术编号:34440535 阅读:32 留言:0更新日期:2022-08-06 16:29
本申请公开了一种数据访问方法、装置、设备及可读存储介质,服务器接收到数据访问请求后,判断缓存或内存中是否存在该数据访问请求所请求的目标数据。若内存和缓存中均没有目标数据时,确定向硬盘发起读取请求。之后,服务器判断存储目标数据的硬盘的介质类型,当介质类型指示硬盘是固态硬盘时,关闭读取请求的预读行为,并向硬盘发起该关闭了预读行为的读取请求以获取目标数据。采用该种方案,当介质类型指示硬盘是固态硬盘时,关闭预读行为,避免受垃圾回收影响导致读取请求被概率性阻塞,提高服务器的并发能力,提高数据访问速度的同时降低系统抖动的可能性。低系统抖动的可能性。低系统抖动的可能性。

【技术实现步骤摘要】
数据访问方法、装置、设备及可读存储介质


[0001]本申请涉及云计算
,特别涉及一种数据访问方法、装置、设备及可读存储介质。

技术介绍

[0002]随着电子信息技术的发展,硬盘由于具有强大的存储能力而被广泛的应用于存储系统。常见的硬盘包括机械硬盘、固态硬盘、混合硬盘等。
[0003]通常情况下,中央处理器(central processing unit,CPU)的速度比硬盘的速度快很多,CPU无法直接对硬盘操作。为此,目前操作系统设计中,引入内存和缓存,通过预读方式提前将数据读入内存,避免CPU因为硬盘速度慢而等待。CPU访问目标数据时,首先从缓存中查找目标数据。如果查找到就会立即读取并发送给CPU处理。如果缓存中没有目标数据,则去内存中查找。倘若内存中也没有目标数据,则向存储设备发起输入输出(input output,IO)请求,将目标数据读入内存,再将目标数据从内存调入缓存。这样一来,CPU就能够直接从缓存中读取目标数据。
[0004]目前的数据预读算法大多适用于机械硬盘,机械硬盘的随机IO能力通过每秒的输入输出量(Input/Output Per Second,IOPS)来衡量,通常为60

120次/秒。随着存储介质的发展,出现随机IO能力更强的固态硬盘等,现有的数据预读算法不适用。

技术实现思路

[0005]本申请提供一种数据访问方法、装置、设备及可读存储介质,根据硬盘的介质类型确定是否开启预读行为,针对不同的硬盘采用不同的预读方式,适应性强,实现提高数据访问速度的目的。
[0006]第一方面,本申请实施例提供一种数据访问方法,包括:
[0007]接收数据访问请求;
[0008]当缓存和内存中不存在所述数据访问请求所请求的目标数据时,确定向硬盘发起读取请求;
[0009]确定所述硬盘的介质类型;
[0010]根据所述介质类型确定获取所述目标数据时是否开启所述读取请求的预读行为并获取所述目标数据。
[0011]第二方面,本申请实施例提供一种数据访问装置,包括:
[0012]收发模块,用于接收数据访问请求;
[0013]确定模块,用于当缓存和内存中不存在所述数据访问请求所请求的目标数据时,确定向硬盘发起读取请求;
[0014]处理模块,用于确定所述硬盘的介质类型;
[0015]读取模块,用于根据所述介质类型确定获取所述目标数据时是否开启所述读取请求的预读行为。
[0016]第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
[0017]第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
[0018]第五方面,本申请实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第一方面或第一方面各种可能的实现方式所述的方法。
[0019]本申请实施例提供的数据访问方法、装置、设备及可读存储介质,服务器接收到数据访问请求后,判断缓存或内存中是否存在该数据访问请求所请求的目标数据。若内存和缓存中均没有目标数据时,确定向硬盘发起读取请求。之后,服务器判断存储目标数据的硬盘的介质类型,根据介质类型确定是否开启预读行为,针对不同的硬盘采用不同的预读方式,适应性强,实现提高数据访问速度的目的。而且,当介质类型指示硬盘是固态硬盘时,关闭预读行为,避免受垃圾回收影响导致读取请求被概率性阻塞,提高服务器的并发能力,提高数据访问速度的同时降低系统抖动的可能性。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本申请实施例提供的数据方法的网络架构示意图;
[0022]图2是本申请实施例提供的数据访问方法中服务器的示意图;
[0023]图3是本申请实施例提供的数据访问方法的流程图;
[0024]图4是本申请实施例提供的数据访问方法中条带的示意图;
[0025]图5是本申请实施例提供的数据方法的另一个流程图;
[0026]图6为本申请实施例提供的一种数据访问装置的示意图;
[0027]图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0028]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0029]服务器通常包括具有计算能力的中央处理器(Central Processing Unit,CPU)、硬盘、内存等硬件。其中,硬盘和内存均为存储媒介。由于硬盘由机械部件带动运转,因此,CPU从硬盘读取数据的速度远远低于从内存中读取数据的速度。也就是说,硬盘的速度比内存的速度慢很多。当CPU进行数据操作时,若直接对硬盘进行读写操作(也称之为向硬盘发起IO请求),则CPU会因为硬盘速度慢而等待,CPU利用率低。为此,目前的操作系统设计,通过预读,避免CPU等待。预读方式中,需要对硬盘进行读写操作时,通过预读算法,将目标数据以及目标数据前后的一部分数据(通常是目标数据后的一部分数据)提前读入内存后,进
而调入缓存。这样一来,CPU就能够直接从缓存中获取目标数据,避免CPU因为等待硬盘操作而阻塞,实现提升系统性能的目的。
[0030]经验证发现,现有的预读算法存在至少如下弊端:
[0031]弊端1、对固态硬盘等不适用,导致固态硬盘的读取请求被概率性阻塞,降低服务器的并发能力。
[0032]当缓存和内存中没有目标数据时,操作系统向磁盘发起IO请求以读取数据,该IO请求包括随机IO请求和顺序IO请求。其中,随机IO请求指连续几次的IO请求对应的目标数据分散在磁盘的不同页的不同扇区中,读取目标数据的速度慢。顺序IO请求指连续几次的IO请求对应的目标数据依次相邻,读取目标数据的速度快。随机IO请求包括读取请求和写入请求。
[0033]目前的预读算法的发展和演进很大程度上基于机械硬盘(Hard DisK Drive,HDD),机械硬盘具有随机IO能力差、顺序IO能力强的特点。但是,随着存储介质的发展,固态硬盘(Solid State Drives,SSD)由于其几乎为0的访问延迟以及对随机访问不敏感等特性,已经被广泛应用在高性能计算环境当中,固态硬盘的随机IO能力达到数万至数十万次,是机械硬盘的百倍甚至千倍。现有的预读算法并未考虑固态硬盘的特性。例如,当固态硬盘存在并发写入的IO时,内部的硬件垃圾回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:接收数据访问请求;当缓存和内存中不存在所述数据访问请求所请求的目标数据时,确定向硬盘发起读取请求;确定所述硬盘的介质类型;根据所述介质类型确定获取所述目标数据时是否开启所述读取请求的预读行为并获取所述目标数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述介质类型确定获取所述目标数据时是否开启所述读取请求的预读行为并获取所述目标数据,包括:当所述硬盘的介质类型指示所述硬盘是固态硬盘时,关闭所述读取请求的预读行为;向所述硬盘发起关闭了预读行为的读取请求以获取所述目标数据。3.根据权利要求1所述的方法,其特征在于,所述根据所述介质类型确定获取所述目标数据时是否开启所述读取请求的预读行为并获取所述目标数据,包括:当所述硬盘的介质类型指示所述硬盘是机械硬盘时,确定预读窗口的大小;开启所述读取请求的预读行为;向所述硬盘发起开启了预读行为的读取请求以根据所述预读窗口的大小读取预读数据,所述预读数据包含所述目标数据。4.根据权利要求3所述的方法,其特征在于,所述预读窗口的大小用于指示所述读取请求以及所述读取请求之后的读取请求的预读数据的大小。5.根据权利要求3所述的方法,其特征在于,所述向所述硬盘发起开启了预读行为的读取请求以根据所述预读窗口的大小读取预读数据,包括:从所述读取请求中确定出起始地址;从多个条带中确定出包含所述起始地址的目标条带,将所述目标条带中的数据作为所述预读数据,所述多个条带是根据所述预读窗口的大小对目标文件划分得到的,所述目标文件是包含所述目标数据的文件。6.根据权利要求5所述的方法,其特征在于,所述从多个条带中确定出包含所述起始地址的目标条带之后,还包括:从所述目标条带中确定出第一缓存页面、第二缓存页面和第三缓存页面,所述第二缓存页面是所述目标条带中预设位置处的缓存页面,所述第一缓存页面和所述第三缓存页面分别位于所述第二缓存页面左右两侧预设范围内;当访问所述第二缓存页面时,根据所述第一缓存页面和所述第二缓存页面,确定下一个读取请求的预读数据。7.根据权利要求6所述的方法,其特征在于,所述当访问所述第二缓存页面时,根据所述第一缓存页面和所述第二缓存页面,确定下一...

【专利技术属性】
技术研发人员:林烽陈骁陈文生
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1