[发明专利]一种实现HADOOP系统测试的方法和装置无效
| 申请号: | 201210172064.0 | 申请日: | 2012-05-29 |
| 公开(公告)号: | CN102739470A | 公开(公告)日: | 2012-10-17 |
| 发明(设计)人: | 沙安澜 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
| 代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 袁媛 |
| 地址: | 100085 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 hadoop 系统 测试 方法 装置 | ||
【技术领域】
本发明涉及计算机测试技术领域,特别涉及一种实现HADOOP系统测试的方法和装置。
【背景技术】
HADOOP是一个由Apache基金会开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。HADOOP程序的执行依赖于分布式文件系统(HDFS,Hadoop Distributed File system),当进行HADOOP程序单元测试时,需要搭建HDFS集群环境,在集群上构造数据、检查数据,这样的测试代价较高。
为了降低测试代价,现有实现HADOOP系统测试的方式主要有以下两种:
第一种方式是搭建专门用于测试的小规模HDFS集群,但这样做搭建成本仍然较高,且异常测试难以进行,如果对自动化单元测试的执行时间有要求,则这种搭建小规模HDFS集群的方式会使执行时间无法得到保证。
第二种方式是改写产品代码将数据转写到本地进行测试,但这种方式需要修改产品代码,人力成本较高,且最终被测试的代码并不是发布代码。
【发明内容】
有鉴于此,本发明提供了一种实现HADOOP系统测试的方法和装置,以便于降低测试成本,缩短执行时间。
具体技术方案如下:
一种实现HADOOP系统测试的方法,该方法包括:
S1、当被测试函数调用分布式文件系统应用程序接口HDFS API时,根据预设的对HDFS API的调用与对抽象出的HDFS对象MOCK_FS_OBJ的调用之间的映射关系,将所述被测试函数对HDFS API的调用转换为对MOCK_FS_OBJ的调用;
S2、判断预先设置的MOCK_FS_OBJ的内部状态是否正常,如果是,则执行步骤S3;
S3、将输入的HDFS路径转换为本地文件系统FS路径,根据步骤S1的转换结果,依据所述本地FS路径执行对MOCK_FS_OBJ的调用所对应的本地FS API操作。
根据本发明一优选实施例,在所述步骤S2的判断结果为否时,执行步骤S4;
S4、根据预先设置的MOCK_FS_OBJ的内部状态值返回错误结果。
根据本发明一优选实施例,所述MOCK_FS_OBJ的内部状态包括:HDFS的状态、HDFS中具体文件的状态或者预设的预期返回值。
根据本发明一优选实施例,所述步骤S3中在将输入的HDFS路径转换为本地文件系统FS路径时采用以下公式:
Localpath=Curpath+Hostname:port+Hdfspath
其中,所述Localpath为本地FS路径,所述Curpath为测试函数所在的测试程序当前所在的路径,所述Hostname:port为主机名字和端口号,所述Hdfspath为HDFS路径。
根据本发明一优选实施例,该方法还包括:
判断所述本地FS API操作的执行结果是否符合预期;或者,判断返回的所述错误结果是否符合预期。
一种实现HADOOP系统测试的装置,该装置包括:
调用转换单元,用于当被测试函数调用分布式文件系统应用程序接口HDFSAPI时,根据预设的对HDFS API的调用与对抽象出的HDFS对象MOCK_FS_OBJ的调用之间的映射关系,将所述被测试函数对HDFS API的调用转换为对MOCK_FS_OBJ的调用;
对象存储单元,用于存储所述MOCK_FS_OBJ;
数据访问单元,用于判断预先设置的MOCK_FS_OBJ的内部状态是否正常,如果是,则将输入的HDFS路径转换为本地文件系统FS路径,根据所述调用转换单元的转换结果,依据所述本地FS路径执行对MOCK_FS_OBJ的调用所对应的本地FS API操作;
状态设置单元,用于对所述MOCK_FS_OBJ的内部状态进行设置。
根据本发明一优选实施例,所述数据访问单元还用于判断出所述MOCK_FS_OBJ的内部状态异常时,根据预先设置的MOCK_FS_OBJ的内部状态值返回错误结果。
根据本发明一优选实施例,所述MOCK_FS_OBJ的内部状态包括:HDFS的状态、HDFS中具体文件的状态或者预设的预期返回值。
根据本发明一优选实施例,所述数据访问单元在将输入的HDFS路径转换为本地文件系统FS路径时采用以下公式:
Localpath=Curpath+Hostname:port+Hdfspath
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210172064.0/2.html,转载请声明来源钻瓜专利网。





