一种数据读取方法、系统、装置及计算机可读存储介质与流程

文档序号:16246105发布日期:2018-12-11 23:35阅读:216来源:国知局
一种数据读取方法、系统、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,更具体地说,涉及一种数据读取方法、系统、装置及计算机可读存储介质。

背景技术

随着大数据时代的到来,人们对存储数据的应用实效性提出了更高的要求,需要存储设备提供更快的速度让人们读取到存储在其中的数据,对于数据读取的延时严苛到零点几毫秒的级别。

目前为了使读取存储数据的速度更快通常会利用ssd(solidstatedrives,固态硬盘)。在设备的磁盘槽位插入ssd,将有读取延时要求的数据保存到ssd中,在读取数据时,通过sas通道从ssd中读取数据。

但是,利用sas通道从ssd中读取数据的延时依然比较大,而且还需要占用设备的磁盘槽位,从而不能插入其他磁盘,导致设备的存储容量受到限制。

因此,如何减小数据读取延时,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供及一种数据读取方法、系统、装置及计算机可读存储介质,以解决如何减小数据读取延时的问题。

为实现上述目的,本发明实施例提供了如下技术方案:

一种数据读取方法,包括:

利用服务器下发的数据读取指令确定待读取数据;

将磁盘中的所述待读取数据读至pcie闪存;

利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

其中,所述pcie闪存为具有预设缓存空间大小的pcie闪存。

其中,还包括:

确定所述磁盘中的热点数据;

将所述热点数据从所述磁盘读取至所述pcie闪存。

其中,所述确定所述磁盘中的热点数据,包括:

将所述磁盘中在预设时间段内被读取次数达到预设阈值的数据确定为所述热点数据。

其中,所述将磁盘中的所述待读取数据读至pcie闪存之前,还包括:

判断所述pcie闪存中是否保存有所述待读取数据;

若是,则执行所述利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器的步骤;

若否,则执行所述将磁盘中的所述待读取数据读至所述pcie闪存的步骤。

为解决上述技术问题,本申请还提供了一种数据读取系统,包括:

第一确定模块,用于利用服务器下发的数据读取指令确定待读取数据;

第一读取模块,用于将磁盘中的所述待读取数据读至pcie闪存;

返回模块,用于利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

其中,还包括:

第二确定模块,用于确定所述磁盘中的热点数据;

第二读取模块,用于将所述热点数据从所述磁盘读取至所述pcie闪存。

其中,还包括:

判断模块,用于判断所述pcie闪存中是否保存有所述待读取数据;若是,则调用所述返回模块;若否,则调用所述第一读取模块。

为解决上述技术问题,本申请还提供了一种数据读取装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如所述数据读取方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述数据读取方法的步骤。

通过以上方案可知,本发明提供的一种数据读取方法,包括:利用服务器下发的数据读取指令确定待读取数据;将磁盘中的所述待读取数据读至pcie闪存;利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

由此可见,本申请提供的一种数据读取方法,待读取数据可以保存在普通的磁盘中,在确定了待读取数据后,将磁盘中的待读取数据读取到pcie闪存,并利用pcie通道将pcie闪存的待读取数据返回给服务器。因此由于待读取数据的传输是通过pcie通道进行,传输的速率也就更快,数据读取的延时也将更小。此外,由于不需要使用ssd,因此不会占用设备的磁盘槽位影响设备的整体存储容量。本申请还提供了一种数据读取系统、装置及计算机可读存储介质,同样可以实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种数据读取方法流程图;

图2为本发明实施例公开的一种具体的数据读取方法;

图3为本发明实施例公开的一种数据读取系统结构示意图;

图4为本发明实施例公开的一种具体的数据读取系统结构示意图;

图5为本发明实施例公开的一种数据读取装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种数据读取方法、系统、装置及计算机可读存储介质,以解决如何减小数据读取延时的问题。

参见图1,本发明实施例提供的一种数据读取方法,具体包括:

s101,利用服务器下发的数据读取指令确定待读取数据。

具体地,服务器在需要读取数据时,会发出数据读取指令,首先利用该数据读取指令确定出待读取的数据。

s102,将磁盘中的所述待读取数据读至pcie闪存。

在本方案中,在设备中添加pcie闪存,从而可以利用pcie闪存读取数据,从而替代ssd的加快数据读取的功能。pcie闪存的容量大小可以根据实际需求进行设置,此处不作具体限定。其中,pcie闪存为预设缓存空间大小的pcie闪存,也就是在pcie闪存中,可以设定需要使用的缓存空间的大小,同时,也可以根据实际需要,开启缓存的卷。

需要说明的是,由于pcie闪存不是磁盘的形式,因此不会占用设备的磁盘卡槽,而且在数据读取的过程中,数据传输的通道是pcie的通道,因此也不会影响磁盘对应i/o通道。

具体地,在确定待读取数据后,首先将待读取数据从存储该数据的磁盘中传输至pcie闪存。

s103,利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

具体地,在待读取数据已被存在于pcie闪存中时,则利用pcie的通道将pcie闪存中的待读取数据返回至发起数据读取请求的服务器。

在此过程中,由于使用pcie的通道来传输待读取数据,因此相比于sas通道,传输的速率会更高。

由此可见,本申请实施例提供的一种数据读取方法,待读取数据可以保存在普通的磁盘中,在确定了待读取数据后,将磁盘中的待读取数据读取到pcie闪存,并利用pcie通道将pcie闪存的待读取数据返回给服务器。因此由于待读取数据的传输是通过pcie通道进行,传输的速率也就更快,数据读取的延时也将更小。此外,由于不需要使用ssd,因此不会占用设备的磁盘槽位影响设备的整体存储容量。

下面对本申请实施例提供的一种具体的数据读取方法进行介绍,下文描述的一种具体的数据读取方法与上述实施例可以相互参照。

参见图2,本申请实施例提供的一种具体的数据读取方法,具体包括:

s201,确定所述磁盘中的热点数据。

需要说明的是,在存储空间中,存在一种读取频率比较高的热点数据,因此为了进一步提高数据读取的速度,可以先将这些热点数据异步读取至pcie闪存中,以在需要读取这些热点数据时,直接从pcie缓存中将数据返回,从而进一步提高了数据读取效率。

具体地,首先确定磁盘中的热点数据。

在一个具体的实施方式中,将所述磁盘中,在预设时间段内被读取次数达到预设阈值的数据确定为所述热点数据。

预设时间段可以是当前时刻前的预设时间段,也就是最近的预设时间段,从而保证热点数据是最近被读取的可能性是较大的数据。

s202,将所述热点数据从所述磁盘读取至所述pcie闪存。

具体的,不管当前热点数据有没有被请求读取,都将热点数据直接读取会pcie闪存。

需要说明的是,s201、s202的执行顺序不一定在下述s203至s206之后,在任意时间段都可以执行s201、s202。

s203,利用服务器下发的数据读取指令确定待读取数据。

s204,判断所述pcie闪存中是否保存有所述待读取数据。

在本方案中,由于pcie闪存中预先保存有热点数据,因此在确定了待读取数据后,先在pcie闪存的热点数据中确定是否存在该待读取数据。

s205,若否,则将磁盘中的所述待读取数据读至所述pcie闪存。

如果pcie中没有待读取数据,则还需要从磁盘中将待读取数据读取到pcie闪存,然后再执行306,利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

s206,若是,则利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

如果pcie闪存中存在待读取数据,说明则无需再从磁盘中读取该待读取数据至pcie闪存,直接将pcie闪存中保存的待读取数据返回至服务器。由于是直接从pcie闪存将服务器请求读取的数据返回,因此,进一步提高了数据读取的速度。

下面对本申请实施例提供的一种数据读取系统进行介绍,下文描述的一种数据读取系统与上述实施例可以相互参照。

参见图3,本申请实施例提供的一种数据读取系统,具体包括:

第一确定模块301,用于利用服务器下发的数据读取指令确定待读取数据。

具体地,服务器在需要读取数据时,会发出数据读取指令,首先第一确定模块301利用该数据读取指令确定出待读取的数据。

第一读取模块302,用于将磁盘中的所述待读取数据读至pcie闪存。

在本方案中,在设备中添加pcie闪存,从而可以利用pcie闪存读取数据,从而替代ssd的加快数据读取的功能。pcie闪存的容量大小可以根据也无需求的不同确定,此处进行限定。其中,pcie闪存为预设缓存空间大小的pcie闪存,也就是在pcie闪存中,可以设定需要使用的缓存空间的大小,同时,也可以根据实际需要,开启缓存的卷。

需要说明的是,由于pcie闪存不是磁盘的形式,因此不会占用设备的磁盘卡槽,而且在数据读取的过程中,数据传输的通道是pcie的通道,因此也不会影响磁盘对应i/o通道。

具体地,在确定待读取数据后,第一读取模块302将待读取数据从存储该数据的磁盘中传输至pcie闪存。

返回模块303,用于利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

具体地,在待读取数据已被存在于pcie闪存中时,则返回模块303利用pcie的通道将pcie闪存中的待读取数据返回至发起数据读取请求的服务器。

在此过程中,由于使用pcie的通道来传输待读取数据,因此相比于sas通道,传输的速率会更高。

下面对本申请实施例提供的一种具体的数据读取系统进行介绍,区别于上述实施例,下文描述的一种具体的数据读取方法与上述实施例可以相互参照。

参见图4,本申请实施例提供的一种具体的数据读取系统,具体包括:

第二确定模块401,用于确定所述磁盘中的热点数据。

需要说明的是,在存储空间中,存在一种读取频率比较高的热点数据,因此为了进一步提高数据读取的速度,可以先将这些热点数据异步读取至pcie闪存中,以在需要读取这些热点数据时,直接从pcie缓存中将数据返回,从而进一步提高了数据读取效率。

具体地,首先第二确定模块401确定磁盘中的热点数据。

在一个具体的实施方式中,第二确定模块401将所述磁盘中,在预设时间段内被读取次数达到预设阈值的数据确定为所述热点数据。

预设时间段可以是当前时刻前的预设时间段,也就是最近的预设时间段,从而保证热点数据是最近被读取的可能性是较大的数据。

第二读取模块402,用于将所述热点数据从所述磁盘读取至所述pcie闪存。

具体的,不管当前热点数据有没有被请求读取,第二读取模块402都将热点数据直接读取会pcie闪存。

第一确定模块301,用于利用服务器下发的数据读取指令确定待读取数据。

判断模块403,用于判断所述pcie闪存中是否保存有所述待读取数据。

在本方案中,由于pcie闪存中预先保存有热点数据,因此在确定了待读取数据后,判断模块403先在pcie闪存的热点数据中确定是否存在该待读取数据。若是,则调用返回模块303;若否,则调用第一读取模块302。

第一读取模块302,用于将磁盘中的所述待读取数据读至pcie闪存。

在本方案中,如果pcie中没有待读取数据,则还需要第一读取模块302从磁盘中将待读取数据读取到pcie闪存,然后利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

返回模块303,用于利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

在本方案中,如果pcie闪存中存在待读取数据,说明则无需再从磁盘中读取该待读取数据至pcie闪存,返回模块303直接将pcie闪存中保存的待读取数据返回至服务器。由于是直接从pcie闪存将服务器请求读取的数据返回,因此,进一步提高了数据读取的速度。

下面对本申请实施例提供的一种数据读取装置进行介绍,下文描述的一种数据读取装置与上述任一实施例可以相互参照。

参见图5所示,本申请实施例还公开了一种数据读取装置,包括处理器501和存储器502;其中,所述处理器501执行所述存储器502中保存的计算机程序时实现以下步骤:

利用服务器下发的数据读取指令确定待读取数据;将磁盘中的所述待读取数据读至pcie闪存;利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器。

其中存储器502还包括pcie闪存,用于缓存待读取数据。

在一些具体的实施例中,所述处理器501执行所述存储器502中保存的计算机子程序时,具体可以实现以下步骤:确定所述磁盘中的热点数据;将所述热点数据从所述磁盘读取至所述pcie闪存。

在一些具体的实施例中,所述处理器501执行所述存储器502中保存的计算机子程序时,具体可以实现以下步骤:将所述磁盘中在预设时间段内被读取次数达到预设阈值的数据确定为所述热点数据。

在一些具体的实施例中,所述处理器501执行所述存储器502中保存的计算机子程序时,具体可以实现以下步骤:判断所述pcie闪存中是否保存有所述待读取数据;若是,则执行所述利用pcie通道将所述pcie闪存中的所述待读取数据返回至所述服务器的步骤;若否,则执行所述将磁盘中的所述待读取数据读至所述pcie闪存的步骤。

进一步的,本实施例中的数据读取装置,还可以包括:

输入接口503,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器502中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器501中,以便处理器501利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口503具体可以包括但不限于usb接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。

输出接口504,用于将处理器501产生的各种数据输出至与其相连的终端设备,以便于与输出接口504相连的其他终端设备能够获取到处理器501产生的各种数据。本实施例中,所述输出接口504具体可以包括但不限于usb接口、串行接口等。

显示器505,用于对数据读取过程的相关信息进行实时显示,以及显示读取到的数据,以便于用户及时地了解当前数据读取情况。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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