一种面向嵌入式系统的磁盘I/O测试系统技术方案

技术编号:7233326 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种面向嵌入式系统的磁盘I/O测试系统,包括客户端、目标机端,客户端与目标机端网络连接,所述客户端包括:传输控制模块、数据处理模块、显示交换模块;所述目标机端包括:测试代理模块、测试执行模块。本发明专利技术的有益效果是测试在特定系统中嵌入式磁盘I/O的性能、对系统的磁盘I/O进行实时监测并分析是否存在瓶颈、对进程的磁盘I/O情况进行实时监测并实时获取系统中运行的软件对磁盘的I/O访问情况、对磁盘的每一次I/O访问进行跟踪记录并可存入数据库,本发明专利技术一方面是驱动层对磁盘I/O进行监测,另一方面可在磁盘测试中使用收集到的日常读写数据作为输入源以模拟实际应用,最终得到对被测试磁盘真实可靠的性能评价。

【技术实现步骤摘要】

本专利技术涉及信息存储
,特别涉及一种面向嵌入式系统的磁盘I/O测试系统
技术介绍
随着计算机技术和通讯技术相结合的信息时代的飞速发展,3c (即计算机、通信、 消费电子)一体化趋势日益明显。嵌入式系统凭借自身特点成为3c—体化的理想载体, 于是,对嵌入式系统的研究与开发成为当前的一个热点。信息时代对嵌入式系统的存储器性能和容量要求越来越高,不像早期的嵌入式系统没有外存储器或者只有简单的外存储设备。磁盘已逐渐引入嵌入式系统,磁盘技术的革新,特别是微磁盘的产生,使磁盘必将成为一种嵌入式系统外存储设备的主要存储器之一。当前引入磁盘的嵌入式系统发展迅速,苹果计算机ipod成功带起磁盘MP3的风潮,许多厂商纷纷投入这类便携式媒体播放器的研发行列,而且功能越来越多样化,微磁盘成为这类产品中最昂贵的部件。嵌入式数字磁盘录像机以其高性能,低成本,更稳定的优势逐渐全面进入小区,楼宇,金融测试领域。还有智能网络磁盘也成为网络发展的关键设备基础。特别随着数字家庭概念的推广,各种家电产品都开始了智能化的转变,与计算机技术的高度融合,磁盘被作为数字家电存储信息的主要存储设备如磁盘播放机、机顶盒、点歌机等等。在信息化的发展下,越来越多的嵌入式系统需要处理大量的信息。由于磁盘具有容量大,价格便宜,性价比高等优点,可以预见,未来将有大量的嵌入式系统需要选择磁盘作为外存储设备。在嵌入式领域,VxWork^Windows CE以及嵌入式Linux是具有代表性的三种嵌入式操作系统。虽然VxWorks作为实时操作系统,在国防、工业上有着很大的优势,但是由于其昂贵的费用、相对有限的技术支持,一定程度上阻碍其广泛应用;Windows CE有着良好的开发调试环境和友好的图形用户界面,在嵌入式领域有着一定的市场,但是Windows CE是非开放性0S,第三方是很难实现产品定制的,版权费用也是厂商们不得不考虑的问题;相反,对于嵌入式Linux来说,其免费、开放源码、强大的开源社区支持、可定制性、跨平台、可裁剪、健壮稳定等特性,使得其在嵌入式操作系统中得以占有较大比重。但是在嵌入式领域中,嵌入式系统高更新速度,使得系统的升级较为频繁,同时对磁盘I/O要求也提高,用户在使用过程中不能及时地了解嵌入式系统的运作情况,缺乏对磁盘I/O与系统适应性测试ο
技术实现思路
为了解决上述现有技术中的不足,本专利技术提供了一种能够测试嵌入式磁盘I/O性能,实时监测并分析磁盘I/O存储瓶颈的面向嵌入式系统的磁盘I/O测试系统。本专利技术的技术方案是一种面向嵌入式系统的磁盘I/O测试系统,包括客户端、目标机端,客户端与目标机端网络连接,所述客户端包括传输控制模块,用于接收显示交换模块的测试指令并向目标机端的测试代理模块转发该测试指令,以及转发测试代理模块返回的测试数据至数据处理模块;数据处理模块,用于处理接收到的测试数据,并将处理后的测试数据输出至显示交换模块;显示交换模块,用于显示接收到的测试数据,以及接受用户的测试指令输入并转发测试指令至传输控制模块;所述目标机端包括测试代理模块,用于接测试指令并发送测试指令至测试执行模块,并转发测试执行模块返回的测试数据至客户端的传输控制模块;测试执行模块,用于执行接收到的测试指令,返回测试数据。上述方案中,测试执行模块包括磁盘I/O性能测试子模块,通过人为产生负载对磁盘的I/O性能进行测试;系统I/O监测子模块,通过文件系统动态从系统内核读出信息,对整个系统的磁盘I/O情况的监测;进程I/O监测子模块,在进程I/O操作开始时获取时间,I/O操作结束时在回调函数处再获取时间,并返回获取的进程信息;I/O trace收集器子模块,在驱动程序的ATA层截获I/O信息。所述的通过人为产生负载对磁盘的I/O性能进行测试包括以下步骤首先按字符写,发送测试结果给客户端,再按字符读,发送测试结果,再按块写,发送测试结果,最后按块读,发送测试结果,删除测试文件,完成整个测试。所述的文件系统为/proc文件系统。客户端还包括用于储存测试数据的数据库模块。所述的测试执行模块运行于嵌入式Linux的内核空间中。与现有技术相比,本专利技术的有益效果是一、测试在特定系统中嵌入式磁盘I/O的性能,分析其是否能满足系统的需求。二、对系统的磁盘I/O进行实时监测,分析是否存在瓶颈。三、对进程的磁盘I/O情况进行实时监测,实时获取系统中运行的软件对磁盘的I/0访问情况。一方面可维护系统安全,因为进程是进行信息安全研究工作所关注的重点,它是计算机系统的活跃体,任何系统安全问题最终都是由计算机系统的某个进程引起的。另一方面为软件的优化提供依据。四、对磁盘的每一次I/O访问进行跟踪记录,并可存入数据库。一方面是驱动层对磁盘I/O进行监测,另一方面可在磁盘测试中使用收集到的日常读写数据作为输入源以模拟实际应用,最终得到对被测试磁盘真实可靠的性能评价。这些数据在系统升级新的存储磁盘、对不同的实际应用进行评估等实验中都有很高的价值。附图说明图1为本专利技术组成示意图;图2为磁盘I/O性能测试流程设计图;图3为进程I/O监测框架设计图;图4为I/O trace收集器框架设计图;图5为测试代理流程设计图。具体实施例方式以下结合附图对本专利技术进一步说明。实施例一如图1所示,一种面向嵌入式系统的磁盘I/O测试系统,包括客户端、目标机端,客户端与目机端网络连接,所述客户端包括传输控制模块,用于接收显示交换模块的测试指令并向目标机端的测试代理模块转发该测试指令,以及转发测试代理模块返回的测试数据至数据处理模块;数据处理模块,用于处理接收到的测试数据,并将处理后的测试数据输出至显示交换模块;显示交换模块,用于显示接收到的测试数据,以及接受用户的测试指令输入并转发测试指令至传输控制模块;数据库模块,用于储存测试数据;所述目标机端包括测试代理模块,用于接测试指令并发送测试指令至测试执行模块,并转发测试执行模块返回的测试数据至客户端的传输控制模块;运行于Iirmx内核空间的测试执行模块,用于执行接收到的测试指令,返回测试数据;测试执行模块包括磁盘I/O性能测试子模块,通过人为产生负载对磁盘的I/O性能进行测试;系统I/O监测子模块,通过/proc文件系统动态从系统内核读出信息,对整个系统的磁盘I/O情况的监测;进程I/O监测子模块,在进程 I/O操作开始时获取时间,I/O操作结束时在回调函数处再获取时间,并返回获取的进程信息;I/O trace收集器子模块,在驱动程序的ATA层截获I/O信息。如图2所示,所述的通过人为产生负载对磁盘的I/O性能进行测试包括以下步骤 建立测试文件,获取系统时间,按字符写,调用fsyncO写回脏块,获取系统时间,发送测试结果给客户端,获取系统时间,按字符读,获取系统时间,发送测试结果,获取系统时间,按块写,调用fsyncO写回脏块,获取系统时间,发送测试结果,获取系统时间,按块读,获取系统时间,发送测试结果,删除测试文件,完成整个测试。如图5所示,测试代理模块的工作流程为响应客户端的连接请求并建立连接, 接收客户端的测试指令,判断指令的具体内容启动响应的功能模块,将功能模块测试所得的数据返回给客户端。如图1至图5所示,本系统的具体工作流程客户端的前台是与用户交互的界面本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:刘发贵张晓杰刘飞谢然
申请(专利权)人:华南理工大学
类型:发明
国别省市:

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

1
相关领域技术