基于HDFS的SCSI容错优化方法及装置制造方法及图纸

技术编号:8961214 阅读:98 留言:0更新日期:2013-07-25 20:26
本发明专利技术提出一种基于HDFS的SCSI容错优化方法及装置。其中,该方法包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将请求经由SCSI中间层发送至SCSI底层;SCSI底层对请求进行处理并将处理结果返回至SCSI中间层;SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。根据本发明专利技术实施例的方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及一种基于HDFS的SCSI容错优化方法及装置
技术介绍
HDFS(Hadoop Distributed File System, 一种分布式文件系统)通常存储着每个数据块的复本,其中默认为3个,HADOOP (可对大量数据进行分布式处理的软件框架)的客户端client在读取数据块时,如果检测到错误时HDFS从其它地方读取到该数据块的另一个复本,整个过程对用户是透明的,但是对于基于HDFS的SCSI (Small Computer SystemsInterface,小型计算机系统接口),如果检测到错误时,则因为SCSI的底层读取数据失败而报错。针对上述问题,现有技术通过SCSI的底层返回的IO请求处理结果,判断是否存在错误。现有技术存在的问题是,从SCSI的底层和IO请求处理结果出发,未考虑HDFS存储的数据块的其他复本,在client的IO请求实际上已经满足的情况下,基于HDFS的SCSI仍然进行了不必要的报错或重试机制。
技术实现思路
本专利技术旨在至少解决上述技术问题之一。为此,本专利技术的一个目的在于提出一种可以提高IO效率以及减少硬件故障率的基于HDFS的SCSI容错优化方法。本专利技术的另一目的在于提出一种基于HDFS的SCSI容错优化装置。为了实现上述目的,根据本专利技术的第一方面实施例的基于HDFS的SCSI容错优化方法包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将所述请求经由SCSI中间层发送至SCSI底层;所述SCSI底层对所述请求进行处理并将处理结果返回至所述SCSI中间层;所述SCSI中间层根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。根据本专利技术实施例的基于HDFS的SCSI容错优化方法,根据SCSI底层返回的结果判断客户端的请求为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。为了实现上述目的,根据本专利技术的第二方面实施例的基于HDFS的SCSI容错优化装置包括:接收模块,所述接收模块用于接收客户端发出的对于第一数据块复本的请求;发送模块,所述发送模块用于将所述请求经由SCSI中间层发送至SCSI底层;处理模块,所述SCSI底层利用所述处理模块对所述请求进行处理并将处理结果返回至所述SCSI中间层;以及判断模块,所述SCSI 中间层利用所述判断模块根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败,并且在判断需要SCSI底层重试时,设定重试次数或放弃重试。根据本专利技术实施例的基于HDFS的SCSI容错优化装置,通过判断模块根据SCSI底层返回的结果判断客户端的请求是成功、需要SCSI底层重试还是失败,且在判断为需要SCSI底层重试时,通过设定重试次数或者设定放弃重试对不影响客户端实际请求的错误处理方法进行优化,从而提高IO效率,降低硬盘的故障率。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图2是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图3是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图4是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图5是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图6是根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图;图7是根据本专利技术一个实施例的基于HDFS的SCSI容错优化装置的结构框图;图8是根据本专利技术一个实施例的基于HDFS的SCSI容错优化装置的结构框图;图9是根据本专利技术一个实施例的基于HDFS的SCSI容错优化装置的结构框图;以及图10是根据本专利技术一个实施例的基于HDFS的SCSI容错优化装置的结构框图。具体实施例方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。相反,本专利技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。此外,在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。流程图中或在此以其 他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本专利技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本专利技术的实施例所属
的技术人员所理解。下面参考说明书附图描述根据本专利技术实施例的基于HDFS的SCSI容错优化方法。一种基于HDFS的SCSI容错优化方法,包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将请求经由SCSI中间层发送至SCSI底层;SCSI底层对请求进行处理并将处理结果返回至SCSI中间层;SCSI中间层根据SCSI底层返回的处理结果执行回调以判断请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。图1为根据本专利技术一个实施例的基于HDFS的SCSI容错优化方法的流程图。如图1所示,根据本专利技术实施例的基于HDFS的SCSI容错优化方法包括下述步骤。步骤S101,接收客户端发出的对于第一数据块复本的请求。具体地,HDFS (Hadoop Distributed File System,分布式文件系统)最基本的存储单位为数据块,HDFS存储着每个数据块的多个复本,其中默认存储3个数据块复本,客户端向某个数据块发送请求,将该请求指向第一数据块复本。步骤S102,将请求经由SCSI中间层发送至SCSI底层。具体地,首先将客户端的请求发送至通用块层,然后通用块层提交块访问请求到SCSI中间层,中间层再提交SCSI命令到SCSI底层,完成将客户端的请求经由SCSI中间层发送至SCSI底层的过程。步骤S103,SCSI底层对请求进行处理并将处理结果返回至SCSI中间层。其中,SCSI子系统通过两次回调过程完成对执行结果的处理,SCSI底层在接受到SCSI TARGET端返回的命令执行结果后调用SCSI中间本文档来自技高网
...

【技术保护点】
一种基于HDFS的SCSI容错优化方法,其特征在于,包括以下步骤:接收客户端发出的对于第一数据块复本的请求;将所述请求经由SCSI中间层发送至SCSI底层;所述SCSI底层对所述请求进行处理并将处理结果返回至所述SCSI中间层;所述SCSI中间层根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败;以及在判断需要SCSI底层重试时,设定重试次数或放弃重试。

【技术特征摘要】
1.一种基于HDFS的SCSI容错优化方法,其特征在于,包括以下步骤: 接收客户端发出的对于第一数据块复本的请求; 将所述请求经由SCSI中间层发送至SCSI底层; 所述SCSI底层对所述请求进行处理并将处理结果返回至所述SCSI中间层; 所述SCSI中间层根据所述SCSI底层返回的处理结果执行回调以判断所述请求是成功、需要SCSI底层重试还是失败;以及 在判断需要SCSI底层重试时,设定重试次数或放弃重试。2.根据权利要求1所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤: 在放弃重试时,将所述请求定向到第二数据块复本。3.根据权利要求1或2所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤: 在所述请求失败时,将所述请求 定向到第二数据块复本。4.根据权利要求1或2所述的基于HDFS的SCSI容错优化方法,其特征在于,所述处理结果包括所述请求的状态码,所述SCSI底层返回的报错信息,SCSI中间层检测到的错误信息和感测信息。5.根据权利要求4所述的基于HDFS的SCSI容错优化方法,其特征在于, 当所述SCSI底层反馈的报错信息与数据相关时,将所述重试次数设定为I次;以及 当所述SCSI底层反馈的报错信息与硬件相关时,放弃重试。6.根据权利要求1或2所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤: 在所述请求失败时,将与所述请求对应的数据从所述第一数据块复本删除。7.根据权利要求5所述的基于HDFS的SCSI容错优化方法,其特征在于,进一步包括步骤: 如果SCSI底层反馈的报错信息与硬件无关,则检查与所述请求对应的数据所在的扇区是否存在故障。8.根据权利要求7所述的基于HDFS的SCSI容错优化方法,其特征在于,使用读方法检查与所述请求对应的数据所在的扇区是否存在故障。9.一种基于HDFS的SCSI容错优化装置,其特征在于,包括: 接收模块,所述接收模块用于接收客户端...

【专利技术属性】
技术研发人员:胡殿明魏伟王志谦
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

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

1