具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例一提供的测试方法流程图,主要包括步骤:
步骤101、将终端设备的数据向被测试设备写入,数据的大小大于被测试设备的传输带宽;
写入的数据的大小大于被测试设备的传输带宽,这样也可以保证电源被切断前被测试设备的缓存中含有数据。
步骤102、当检测到数据从终端设备写入被测试设备完成时,至少控制切断被测试设备与电源的连接,在设定时间到达后,控制恢复被测试设备与电源 的连接;
其中至少控制切断被测试设备与电源的连接包括:
控制切断被测试设备与电源的连接,及终端设备与电源的连接;或者,控制切断被测试设备与电源的连接。
步骤103、读取被测试设备的闪速存储器(Flash)介质中的数据,将Flash介质中的数据与终端设备的备份数据进行对比,根据对比结果得到测试结果。
被测试设备在掉电后可以利用备用电源将缓存中的数据写入Flash介质中。因此,读取被测试设备的Flash介质中的数据,将Flash介质中的数据与终端设备数据的备份数据进行对比,若一致,则表明被测试设备的掉电保护功能生效,若不一致,则表示掉电保护功能没有生效。
从实施例一内容可以看出,本发明实施例的技术方案是当检测到数据从所述终端设备写入所述被测试设备完成时,切断所述被测试设备与电源的连接,这样保证电源被切断前终端设备已经不含有数据,同时,写入的数据的大小大于所述被测试设备的传输带宽,而掉电是根据检测结果控制自动切断电源,更为及时,这样也可以保证电源被切断前被测试设备的缓存中含有数据,在恢复电源连接后,读取所述被测试设备的Flash介质中的数据,将所述Flash介质中的数据与所述终端设备数据的备份数据进行对比,根据对比结果得到测试结果,实现对被测试设备的掉电保护功能的测试。因此,本发明实施例提供的测试方法得到的是数据处于被测试设备的缓存的情况下的测试结果,因此准确性更高。
以下进一步详细介绍本发明实施例技术方案,在以下内容中,终端设备以计算机PC举例说明,电源调控设备以电源测试仪举例说明,被测试设备以固态硬盘举例说明。
实施例二:
图2是本发明实施例二测试方法的应用架构示意图。
如图2所示,计算机通过控制线与电源测试仪连接,通过数据线与固态硬盘连接。电源测试仪外接电源,并通过电源线连接计算机电源,而计算机电源分别通过电源线向计算机及向固态硬盘供电。因此,实施例二中计算机是同时控制计算机电源和固态硬盘电源。
另外,计算机与电源测试仪连接的控制线,可以是串口连线或其他可以使得计算机与电源测试仪之间进行命令交换的连线。
图3是本发明实施例二测试方法的流程图,实施例二中,是以固态硬盘作为主盘,并在固态硬盘上安装linux操作系统举例说明。
图3主要包括步骤:
步骤301、将计算机的数据向固态硬盘写入;
可以理解的是,本领域技术人员可以知道,将计算机的数据向固态硬盘写入前,需要将数据进行备份,即存储一份备份数据,例如将一已有文件的数据复制到计算机的其他地方进行存储,以用于后续的数据比较。
另外,本发明实施例中写入的数据的大小,最好大于固态硬盘的每秒写入传输带宽,这样是为了尽量将固态硬盘的空间占满,从而延长刷盘的时间,保证掉电时固态硬盘中还有数据没有刷完,也即保证固态硬盘的缓存含有数据。
该步骤在将计算机的数据写入固态硬盘的同时,可以在日志记录中进行记录,记录的信息包括写入次数等。
步骤302、执行同步sync命令确保数据从计算机的文件系统的缓存写入固态硬盘的缓存;
该步骤中,执行linux操作系统的同步sync命令。执行该命令是为了使文件系统的缓存中的数据写入到固态硬盘的缓存中,保证掉电时数据已不在文件系统的缓存中,而是在固态硬盘的缓存中。
步骤303、检测到sync命令完成时,控制电源测试仪使得计算机与固态硬盘同时掉电;
该步骤中,计算机检测到sync命令完成的指示,立即向电源测试仪发送命令,要求使得计算机和固态硬盘同时掉电。电源测试仪根据命令,切断计算机与电源的连接和切断固态硬盘与电源的连接。在执行完sync命令后立即掉电,可以保证固态硬盘缓存中还含有数据。
固态硬盘在发现掉电时,可以启动掉电保护功能,即利用备用电源将缓存中的数据写入到Flash介质中,以进行数据保护。
步骤304、在到达设定时间后,控制电源测试仪使得计算机与固态硬盘上电;
在到达设定时间例如3秒后,向电源测试仪发送命令,要求使得计算机和固态硬盘同时上电。电源测试仪根据命令,恢复计算机与电源的连接以及恢复固态硬盘与电源的连接。
其中设定时间可以是在要求使得计算机和固态硬盘同时掉电的命令中携带,也可以采用默认的设置。
步骤305、进行数据对比,得到测试结果;
计算机读取固态硬盘的Flash介质中的数据,将读取的Flash介质中的数据与备份数据进行对比,根据对比结果得到测试结果。数据对比若一致,则表明固态硬盘的掉电保护功能生效,若不一致,则表示掉电保护功能没有生效。
得到测试结果后,可以在日志记录中进行记录。
步骤306、判断测试次数是否到达设定次数,若否,返回步骤301,若是,进入步骤307。
为了进一步对固态硬盘的掉电保护功能的可靠性进行测试,可以进行多次测试。可以设置一个测试的设定次数,该设定次数根据需要设置,例如设置为50次或100次等
步骤307、对测试结果进行统计。
该步骤中,对应各次进行测试记录结果进行统计。例如测试50次,其中45为掉电保护功能生效,5次为掉电保护功能未生效,则可以计算得到成功概率和出错概率。
可以将这些统计数据记录在日志记录中,或进行输出。
从实施例二内容可以看出,本发明实施例的技术方案当检测到sync命令完成时切断固态硬盘与电源的连接,这样保证电源被切断前计算机的文件系统的缓存已经不含有数据,同时,写入的数据的大小大于固态硬盘的传输带宽,而掉电是根据检测结果控制自动切断电源,更为及时,这样也可以保证电源被切断前固态硬盘的缓存中含有数据,那么在恢复电源连接后,读取固态硬盘的Flash介质中的数据,将所述Flash介质中的数据与计算机的备份数据进行对比,根据对比结果得到测试结果,实现对固态硬盘的掉电保护功能的测试。因此,本发明实施例二提供的测试方法整个过程实现自动化,不用手动拔插电源线,能准确确定掉电时刻,得到的是数据处于固态硬盘的缓存的情况下的测试结 果,准确性更高,效率也更高。
还有,本实施例技术方案还可以自动进行多次重复测试,从而获知固态硬盘的掉电保护功能的可靠性。
实施例三:
图4是本发明实施例三测试方法的应用架构示意图。
如图4所示,计算机的主板通过控制线与电源测试仪连接,通过数据线与固态硬盘连接。电源测试仪和计算机外接同一个独立电源,固态硬盘通过另外独立电源供电。因此,实施例三与实施例二不同,实施例三中计算机不是同时控制计算机电源和固态硬盘电源,只控制固态硬盘的电源。
图5是本发明实施例三测试方法的流程图,实施例三中,是以将计算机中的存储设备作为主盘,固态硬盘作为从盘,并在固态硬盘上安装linux操作系统举例说明。
图5主要包括步骤:
步骤501、将计算机的数据向固态硬盘写入;
步骤502、执行同步sync命令确保数据从计算机的文件系统的缓存写入固态硬盘的缓存;
步骤501-502的描述与实施例二中步骤301-302描述相同。
步骤503、检测到sync命令完成时,控制电源测试仪使得固态硬盘掉电;
该步骤中,与实施例二不同,计算机检测到sync命令完成的指示,立即向电源测试仪发送命令,要求使得固态硬盘掉电。电源测试仪根据命令,切断固态硬盘与电源的连接。在执行完sync命令后立即掉电,可以保证固态硬盘缓存中还含有数据。
固态硬盘在发现掉电时,可以启动掉电保护功能,即利用备用电源将缓存中的数据写入到Flash介质中,以进行数据保护。
步骤504、在到达设定时间后,控制电源测试仪使得固态硬盘上电;
在到达设定时间例如3秒后,向电源测试仪发送命令,要求使得固态硬盘同时上电。电源测试仪根据命令,恢复固态硬盘与电源的连接。
其中设定时间可以是在要求使得计算机和固态硬盘同时掉电的命令中携带,也可以采用默认的设置。
步骤505、进行数据对比,得到测试结果;
步骤506、判断测试次数是否到达设定次数,若否,返回步骤501,若是,进入步骤507。
步骤507、对测试结果进行统计。
步骤505-507的描述与实施例二中步骤305-307描述相同。
实施例三的技术方案也具有实施例二中的技术方案的效果,具体参见前面描述。另外,因为只需对固态硬盘进行掉电处理,不需要对计算机进行掉电处理,这样可以减少对计算机运行其他任务的影响,也更为简单。
上述介绍的是以linux操作系统举例说明,也可以采用其他操作系统,对于上述两个实施例二和实施例三,例如各自采用windows操作系统可以作为新的两个实施例,即实施例四和实施例五。
实施例四中,将固态硬盘作为主盘,并在固态硬盘上安装windows操作系统。实施例四的方法的流程与实施例二相比,在将计算机的数据向固态硬盘写入后,不执行同步sync命令,直接等待返回的写操作完成(OK)命令。返回写操作完成命令,表示数据已不在文件系统的缓存中,而是在固态硬盘的缓存中。检测到返回的写操作完成命令时,控制电源测试仪使得计算机与固态硬盘同时掉电,其他步骤则相同。实施例四同样具有实施例二的效果。
实施例五中,将计算机中的存储设备作为主盘,固态硬盘作为从盘,并在固态硬盘上安装windows操作系统。实施例五的方法的流程与实施例三相比,在将计算机的数据向固态硬盘写入后,不执行同步sync命令,直接等待返回的写操作完成(OK)命令,检测到返回的写操作完成命令时,控制电源测试仪使得固态硬盘掉电,其他步骤则相同。实施例五同样具有实施例三的效果。
上述内容详细介绍了本发明实施例的测试方法,相应的,本发明实施例提供一种测试系统。
图6是本发明实施例的测试系统结构示意图。
如图6所示,测试系统包括:终端设备61、被测试设备62和电源调控设备63。终端设备61可以是计算机PC,电源调控设备63可以是电源测试仪,被测试设备62可以是固态硬盘。
终端设备61,用于将终端设备61的数据向被测试设备62写入,数据的大小 大于被测试设备62的传输带宽,当检测到数据从终端设备61写入被测试设备62完成时,至少控制电源调控设备63切断被测试设备62与电源的连接,在设定时间到达后,控制电源调控设备63恢复被测试设备62与电源的连接,读取被测试设备62的Flash介质中的数据,将Flash介质中的数据与终端设备61的备份数据进行对比,根据对比结果得到测试结果;
被测试设备62,用于接收终端设备61写入的数据,在被测试设备62与电源的连接被切断后将接收的数据写入Flash介质中;
电源调控设备63,用于在终端设备61的控制下切断或恢复被测试设备62与电源的连接。
终端设备61包括:输出单元611、检测处理单元612、电源控制单元613和数据处理单元614。
输出单元611,用于将终端设备61的数据向被测试设备62写入,数据的大小大于被测试设备62的传输带宽;
检测处理单元612,用于检测数据从终端设备61写入被测试设备62是否完成;
具体的,检测处理单元612根据linux操作系统的同步sync命令完成的指示检测到数据从终端设备61的文件系统的缓存写入被测试设备62的缓存完成,同步sync命令由输出单元611在将终端设备61的数据向被测试设备62写入之后执行;或者,
检测处理单元612根据windows操作系统的写操作命令完成的指示检测到数据从终端设备61的文件系统的缓存写入被测试设备62的缓存完成。
电源控制单元613,用于当检测处理单元612检测到数据从终端设备61写入被测试设备62完成时,控制电源调控设备63切断被测试设备62与电源的连接及终端设备61与电源的连接,或者,控制电源调控设备63切断被测试设备62与电源的连接;在设定时间到达后,控制电源调控设备63恢复被测试设备62与电源的连接;
数据处理单元614,用于读取被测试设备62的Flash介质中的数据,将Flash介质中的数据与终端设备61数据的备份数据进行对比,根据对比结果得到测试 结果。
终端设备61还包括:判断单元615、重测处理单元616。
判断单元615,用于在数据处理单元614根据对比结果得到测试结果后,判断是否达到设定测试次数;
重测处理单元616,用于在判断单元615的判断结果为否时,通知命令输出单元611重复将终端设备61数据向被测试设备62写入,在判断单元615的判断结果为是时,对测试结果进行统计。
综上所述,本发明实施例的技术方案是当检测到所述数据从所述终端设备写入所述被测试设备完成时,切断所述被测试设备与电源的连接,这样保证电源被切断前终端设备已经不含有数据,同时,写入的数据的大小大于所述被测试设备的传输带宽,而掉电是根据检测结果控制自动切断电源,更为及时,这样也可以保证电源被切断前被测试设备的缓存中含有数据,在恢复电源连接后,读取所述被测试设备的Flash介质中的数据,将所述Flash介质中的数据与所述终端设备数据的备份数据进行对比,根据对比结果得到测试结果,实现对被测试设备的掉电保护功能的测试。因此,本发明实施例提供的测试方法得到的是数据处于被测试设备的缓存的情况下的测试结果,因此准确性更高。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种测试方法及测试系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。