一种小文件的定位方法及系统的制作方法_4

文档序号:9249245阅读:来源:国知局
,将切片数据和校验码按照顺序对齐container中的存储文件,接着按顺序对齐收到的各个存储节点,并向存储节点分别发送。
[0115]步骤408:各个存储节点收到数据以后,根据container查找到本地的存储文件,并将数据追加到该存储文件之后,进行保存。
[0116]步骤409:客户端向存储节点和目录服务器确认数据发送完毕。
[0117]步骤410:客户端根据向container中写入的数据量,确认container的大小,以及各个切片数据和校验码在相应的container中的偏移量等信息,并将确认的信息向目录服务器和存储节点发送,目录服务器和存储节点根据接收到的信息,将小文件数据的大小和小文件数据在container中的偏移量等参数进行更新。
[0118]参阅图5所示,小文件的读取流程具体如下:
[0119]步骤501:客户端向目录服务器发送小文件的读取请求。
[0120]步骤502:目录服务器根据待读取的小文件的标识信息和哈希算法,定位小文件的元数据所在的存储位置。
[0121]步骤503:目录服务器根据获得的小文件的元数据信息,向客户端返回小文件数据所在的container以及小文件数据在container中的偏移量。
[0122]步骤504:客户端向元数据服务器发送在步骤503中接收到的container对应的存储节点的请求。
[0123]步骤505:元数据服务器根据该container以及预设的container与存储节点的映射关系,快速定位出相应的存储节点。
[0124]步骤506:元数据服务器将存储节点信息向客户端返回。
[0125]步骤507:客户端向相应的存储节点分别发送读取请求。
[0126]步骤508:存储节点根据与container的对齐顺序,分别定位对应的本地的存储文件,然后结合小文件的数据在container中的偏移量确定其在本地存储文件中的偏移,然后读取小文件的切片数据及校验码,并进行组合后,向客户端返回小文件的数据。
[0127]基于上述实施例,参阅图6所示,本发明实施例中,文件管理平台包括:目录服务器600和元数据服务器610。其中:
[0128]目录服务器600,用于在接收客户端发送的小文件读取请求后,确定小文件的目录对应的元数据文件;以及,
[0129]用于根据小文件的标识信息,以及预设的小文件的索引信息,确定小文件的元数据信息在元数据文件中的存储位置,并基于存储位置获取小文件的元数据信息;其中,小文件的索引信息用于描述小文件的标识信息和该存储位置之间的映射关系,元数据信息中至少包括小文件的切片数据和检验码所属的容器和小文件的切片数据和校验码在容器中的偏移量;
[0130]元数据服务器610,用于基于小文件的元数据信息,向该客户端通知保存有该容器的相关存储节点的位置,令该客户端从相关存储节点读取该小文件的切片数据和校验码。
[0131]这样,可以提高小文件的定位能力,降低索引的复杂度,并提高系统的索引及存储性能。
[0132]较佳地,在接收到小文件读取请求之前:
[0133]元数据服务器610进一步用于:在接收到客户端发送的小文件存储请求时,为小文件分配可用的容器,并通过该容器关联相应的存储节点,令该客户端将小文件的切片数据和校验码分别发送至相应的存储节点,并指示相应的存储节点分别将接收到的小文件的切片数据和校验码存储至本地对应容器的存储文件中;
[0134]目录服务器600进一步用于:根据文件的目录以及预设的目录与元数据文件的一一对应关系,确定小文件对应的元数据文件,并根据客户端反馈的存储结果,将小文件的元数据信息在元数据文件中进行更新,以及建立小文件的索引信息,该索引信息用于描述小文件的标识信息与小文件元数据信息的存储位置之间的映射关系。
[0135]较佳地,在为该小文件分配可用的容器,并通过该容器关联相应的存储节点,令该客户端将小文件的切片数据和校验码分别发送至相应的存储节点时,元数据服务器610具体用于:
[0136]为该小文件分配可用的容器,并将该容器中各个存储文件分别关联相应的存储节点,令该客户端将小文件进行切片处理并按预设的容错方法计算校验码后,按照容器中各个存储文件与相应的存储节点的对齐顺序将各个切片数据和校验码分别向相应的存储节点发送,其中,各个切片数据及相应检验码,与各个存储文件之间的对应关系是由文件管理平台预先配置的。
[0137]这样,能够大大提升存储空间利用率,降低了系统的存储开销,提升了系统的存储性能。
[0138]较佳地,在定位小文件的过程中:
[0139]目录服务器600具体用于:根据获得的小文件的元数据信息,确定小文件的各个切片数据和校验码所属的容器,以及小文件的各个切片数据和校验码在容器中的偏移量;
[0140]元数据服务器610具体用于:按照容器中的各个存储文件与相应的存储节点的对齐顺序,分别确定小文件的各个切片数据和校验码对应的存储节点,并向所述客户端通知所述对应的存储节点的位置,令所述客户端根据小文件的各个切片数据和校验码在容器中的偏移量,分别从所述对应的存储节点中读取各个切片数据和校验码,其中,各个切片数据及相应校验码,与各个存储文件之间的对应关系是由本系统预先配置的;
[0141]较佳地,目录服务器600进一步用于:
[0142]在建立小文件的索引信息之前,建立每一个元数据文件对应的头文件,头文件至少包括小文件的元数据信息在对应元数据文件中的位置信息,以及小文件数据的状态信息,状态信息用于指示小文件的元数据是否可读。
[0143]较佳地,目录服务器600进一步用于:
[0144]在接收到客户端发送的删除小文件的请求后,获取小文件所在元数据文件对应的头文件,并将获得的头文件中小文件的元数据的状态信息更改为不可读。
[0145]这样,可以采用集中式处理,降低了系统的开销,提升系统的性能。
[0146]综上所述,本发明实施例中,文件管理平台接收客户端发送的小文件读取请求后,确定小文件的目录对应的元数据文件后,根据该小文件的标识信息,以及预设的小文件的索引信息,确定小文件的元数据信息的存储位置,并基于存储位置获取小文件的元数据信息,其中,该元数据信息中至少包括小文件的切片数据和检验码所属的容器和小文件的切片数据和校验码在容器中的偏移量,然后基于小文件的元数据信息,向该客户端通知保存有该容器的相关存储节点的位置,令该客户端从相关存储节点读取该小文件的切片数据和校验码。这样,可以提高小文件的定位能力,降低索引的复杂度,并提高系统的索引及存储性能。
[0147]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0148]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0149]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0150]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0151]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1