一种数据读取方法和存储服务器的制造方法

文档序号:9810199阅读:271来源:国知局
一种数据读取方法和存储服务器的制造方法
【技术领域】
[0001]本申请涉及数据读取技术领域,更具体的说是涉及网络存储系统中的数据预读技术。
【背景技术】
[0002]在多媒体应用领域中,可以通过存储服务器对媒体资源进行管理。存储服务器在接收到播放器或者视频编辑器等客户端针对某个文件的读取请求后,会去磁盘中读取该文件的数据,并将读取到的数据返回给该客户端。
[0003]然而受限于磁盘的访问性能,存储服务器从磁盘中读取数据可能会存在访问延时。这样,当播放器等客户端需要依次读取多个文件中的数据时,存储服务器每次均需要访问磁盘,以从磁盘中读取客户端当前所请求的文件中的数据,从而导致产生访问延迟的风险也大大增加,影响到客户端的播放效果。

【发明内容】

[0004]本申请提供了一种数据读取方法和存储服务器,以在播放器等客户端对一系列文件进行读取的过程中,降低访问延迟。
[0005]—方面,本申请提供了一种数据读取方法,该方法包括:存储服务器接收客户端发送的文件读取请求,该文件读取请求携带有当前请求读取的当前文件的文件名,例如,文件读取请求可以为音视频文件的读取请求;基于该当前文件的文件名,确定该客户端在当前时刻之后最近一次所应读取的目标文件所在的子目录;依据该目标文件所在的子目录,对磁盘中存储的目标文件进行预读;将从该目标文件中预读出的目标数据缓存至内存中。
[0006]由于存储服务器在接收到对当前文件的读取请求之后,会确定出该客户端下一次所应读取的目标文件,对磁盘中的该目标文件进行预读,并将预读的数据缓存到内存,这样,在客户端请求读取该目标文件时,则可以直接将内存中缓存的该目标文件的数据返回给客户端,而无需再从磁盘中读取目标文件的数据,从而可以减少访问延迟。
[0007]在一种可能的设计中,在确定所述目标文件以及所述目标文件所在的子目录之前,存储服务器还可以:获取所述当前文件所在的子目录;相应的,可以基于当前文件所在的子目录以及当前文件的文件名,确定客户端在当前时刻之后最近一次所应读取的目标文件所在的子目录。通过文件的文件名和目录可以唯一标识出一个文件,从而可以更为准确的确定出客户端下一次所应读取的文件所在的子目录。
[0008]在一种可能的设计中,在确定所述客户端在当前时刻之后最近一次所应读取的目标文件以及所述目标文件所在的子目录之前,存储服务器还可以确定该当前文件所在的子目录的父目录,这样,如果父目录为配置有预读规则的目录,则基于该当前文件所在的子目录以及当前文件的文件名,并按照父目录配置的预读规则,从该父目录中确定该客户端在当前时刻之后最近一次所应读取的目标文件所在的子目录。由于同一父目录一般会存储有相关性较大的文件,这样,从同一个父目录中确定目标文件,能够更为准确的确定出客户端下一次所应请求的文件,可以降低误判的风险。
[0009]在一种可能的设计中,如果父目录为配置有预读规则的目录,且当前文件的文件名中包含有预设字符,则存储服务器会基于当前文件所在的子目录以及所述当前文件的文件名,确定目标文件所在的子目录。通过在同一子目录中指定具有预设字符的文件可以触发对具有相同预设字符的文件进行预读,可以有灵活设置哪些文件需要预设,哪些文件不需要预读。
[0010]在一种可能的设计中,可以按照预读规则中字符与数字的对应关系,将当前文件的文件名中指定位置处的至少一个字符转换为数字;确定将转换出的数字加I所得到的目标数字;按照该字符与数字的对应关系,将目标数字转换为至少一个目标字符;将当前文件的文件名中指定位置处的至少一个字符替换为所述至少一个目标字符,以得到该目标文件的文件名;将该当前文件所在的子目录中所述当前文件的文件名替换为该目标文件的文件名,以得到该目标文件所在的子目录。
[0011]在一种可能的设计中,在依据所述目标文件所在的子目录,对磁盘中的所述目标文件进行预读之前,还可以判断内存中是否缓存有目标文件的预读数据,并在内存中未存储有该预设数据时,再执行依据目标文件所在的子目录,对磁盘中的目标文件进行预读的操作,从而可以避免对该目标文件的重复预读。
[0012]在一种可能的设计中,在将从目标文件中预读出的数据缓存至内存中之后,如果当接收到客户端针对所述目标文件的读取请求时,从内存缓存的所述目标数据中读取该客户端所请求的数据,并将从内存中读取到的数据返回给客户端,以减少访问延迟。
[0013]在一种可能的设计中,在接收到客户端发送的文件读取请求之后,存储服务器还可以检测内存中是否存储有所述当前文件的预读数据;如果内存中存储有所述当前文件的预读数据,则从内存中读取文件读取请求所请求的目标数据,并将读取到的目标数据返回给所述客户端,通过在内存中缓存该当前文件内的数据,可以降低对该当前文件的访问延迟。
[0014]在一种可能的设计中,在将目标数据返回给客户端的同时,存储服务器还可以对磁盘中当前文件内的数据进行预读;将从当前文件中预读出的数据缓存至内存中,这样,下一次该客户端请求读取该当前文件的数据时,可以直接从内存中获取该当前文件的数据并返回给客户端,而无需再访问磁盘,从而进一步降低了访问延迟。
[0015]另一方面,本发明实施例提供了一种存储服务器,该存储服务器具有实现上述方法实际中存储服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
[0016]在一个可能的设计中,存储服务器的结构中包括处理器、接收器和内存,所述处理器被配置为支持存储服务器执行上述方法中相应的功能。所述接收器用于支持存储服务器与客户端之间的通信,接收客户端发送上述方法中所涉及的信息或者指令。所述存储服务器还可以包括存储器,该存储器用于与处理器耦合,其保存存储服务器必要的程序指令和数据。
【附图说明】
[0017]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[00?8]图1为本申请的一种可能的应用场景不意图;
[0019]图2为本申请实施例提供的一种数据读取方法的流程示意图;
[0020]图3为本申请实施例提供一种数据读取方法的一种具体的流程交示意图;
[0021 ]图4示出了本申请实施例一种存储服务器的结构示意图。
【具体实施方式】
[0022]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]本申请实施例的技术方案可应用于集中的存储服务器,集中的存储服务器可以存储客户端访问所需的所有文件数据。该存储服务器可以接收客户端发送的文件读取请求,并基于该文件读取请求,为客户端返回相应的数据。
[0024]本申请实施例的技术方案也可以应用于分布式存储系统,分布式存储系统由若干个独立的数据节点组成的集合,每个数据节点可以是一个存储服务器。
[0025]本申请所涉及的客户端可以为播放器或者是视频编辑器所在的客户端,如播放器、视频编辑器所在的手机、笔记本电脑等等。
[0026]下面对申请实施例的应用场景进行介绍。
[0027]为了便于描述,以分布存储系统为例对本申请实施例的应用场景介绍,如图1所示,分布式存储系统100可以包括:多个数据节点101,各个数据节点之间可以通过网络相连,网络可以是互联网internet、因特网协议存储区域网络(IP SAN,Internet ProtocolStorage Area Network)以及私有网络等等。该分布式存储系统100中的数据节点101可以包括:处理器、硬盘、内存、系统总线、10设备、通信模块以及电源模块等等。其中,每个数据节点101就是一个存储服务器,在该数据节点内可以存储客户端200所需访问的文件,如多媒体文件。
[0028]当然,该分布式存储系统还可以包括元数据服务器(图中未画出),该元数据服务器中存
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1