CN105005519A - 清除客户端缓存的方法和装置 - Google Patents

清除客户端缓存的方法和装置 Download PDF

Info

Publication number
CN105005519A
CN105005519A CN201410156308.5A CN201410156308A CN105005519A CN 105005519 A CN105005519 A CN 105005519A CN 201410156308 A CN201410156308 A CN 201410156308A CN 105005519 A CN105005519 A CN 105005519A
Authority
CN
China
Prior art keywords
tested object
read
file system
client
write requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410156308.5A
Other languages
English (en)
Other versions
CN105005519B (zh
Inventor
王磊
李昶博
张谋辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410156308.5A priority Critical patent/CN105005519B/zh
Publication of CN105005519A publication Critical patent/CN105005519A/zh
Application granted granted Critical
Publication of CN105005519B publication Critical patent/CN105005519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种清除客户端缓存的方法和装置。其中,该方法包括:记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存;启动客户端的应用程序,使用应用程序抓取测试对象的存储路径;在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存管理器;缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据。本发明解决了基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的技术问题。

Description

清除客户端缓存的方法和装置
技术领域
本发明涉及计算机数据处理领域,具体而言,涉及一种清除客户端缓存的方法和装置。
背景技术
在启动计算机客户端之后,第一次启动客户端目标对象的过程称为冷启动目标对象。如图1所示,现有技术实施冷启动目标对象的方案是:在客户端的文件系统接收目标对象读写请求之后,先访问缓存、内存来获取目标对象进行读写请求所需要的文件,由于冷启动的过程中,内存中并没有保存需要的文件,因此,需要启动文件系统访问磁盘来读取需要的文件,且会将目标对象进行读写请求所需要的文件保存在缓存中,从而使得当用户再次对该客户端对目标对象进行读写请求时,可以快速的从缓存中获取所需要的文件,这个过程称为热启动目标对象。
一般情况下,冷启动目标对象的过程中,由于需要的文件不在物理内存中,系统需要把所依赖的文件从磁盘读入内存,而磁盘是个人计算机中较慢的存储设备,从磁盘中读写数据耗时较长,所以冷启动目标对象的速度较慢,耗时较长。而热启动目标对象的过程中,由于目标对象已经启动过至少一次,系统已经把目标对象启动过程中所需要的文件缓存在物理内存中了,再次启动目标对象时所需要的文件时会命中缓存,无需再次把文件从磁盘读入内存,所以热启动目标对象的速度较快。
上述客户端上的目标对象可以作为一个测试对象,对测试对象进行冷启动耗时测试是指测试该目标对象从启动操作到完成启动过程所消耗的时间。冷启动耗时通常会比热启动耗时长很多,非常影响软件使用体验,所以对测试对象进行冷启动耗时是软件性能测试必测的项目。
现有技术对测试对象进行冷启动耗时的测试方法主要是:重新启动计算机,等待计算机启动完成,在延时启动服务、计划任务、开机自动启动的程序等系统启动后自动运行的任务运行完毕,系统处于闲置状态的情况下,再次启动目标对象,来进行冷启动耗时的测试。
分析可知,上述方案存在如下缺陷:
1、重启计算机实现的冷启动耗时的测试方法非常耗时,测试失败率高,影响测试效率。
具体原因如下:重新启动计算机之后,需要等待操作系统启动完成及后续操作结束,该测试方法测试一次需要耗时3-5分钟,其中大部分时间在等待,非常浪费时间和人力。
由于测试对象进行冷启动耗时的测试结果不是一次测试结果可以确定的,需要多次测试求出平均值,为了保证测试结果的稳定和准确,每次测试的操作参数及环境需要完全相同,包括重启计算机后再次启动被测软件的时机和方式,上述操作难度较高。一旦失误就需要重新启动计算机等待下次测试时机,非常耗时。
例如计算机重新启动需要1分钟,等待2分钟系统后续操作,冷启动测试操作需要30秒,需要重复进行冷启动测试10次,如果操作失误1次,则总共需要用时38分钟以上,而实际测试时间仅使用了5分钟,其中,大约30分钟以上的时间再等待测试环境就绪。
2、重新启动计算机会破坏当前测试环境,导致测试结果的数据波动。
具体原因如下:重新启动计算机后执行的任务不是每次都一样,每个进程启动时拉起的系统模块也不会每次都相同,所以每次重新启动计算机会导致一些测试环境的差异,测试数据会受影响有波动,导致测试结果准确度下降。
另外,重新启动计算机会关闭当前运行的所有软件,重置测试需要的工作环境,重启完成后需要重新部署测试环境才可以测试,例如需要再次启动测试冷启动时间所需要的计时程序。
针对上述现有技术基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种清除客户端缓存的方法和装置,以至少解决基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的技术问题。
根据本发明实施例的一个方面,提供了一种清除客户端缓存的方法,该方法包括:记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存;启动客户端的应用程序,使用应用程序抓取测试对象的存储路径;在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存处理器;缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据。
根据本发明实施例的另一方面,还提供了一种清除客户端缓存的装置,包括:冷启动处理模块,用于记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存;获取模块,用于启动客户端的应用程序,使用应用程序抓取测试对象的存储路径;调用模块,用于在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;启动模块,用于在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存处理器;清除模块,用于缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据。
在本发明实施例中,采用记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存;启动客户端的应用程序,使用应用程序抓取测试对象的存储路径;在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存处理器;缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据的方式。通过提供了一种在对测试对象进行一次冷启动操作之后,不需要重新启动该测试对象所在的客户端,就可以清除在缓存中保存上述冷启动过程产生的访问数据的方案。上述方案中,客户端通过启动客户端上安装的应用程序实现,在触发清除缓存控件之后可以调用启动文件系统函数来启动缓存处理器执行清除缓存的功能,该过程不需要重启客户端就可以删除之前冷启动测试对象时产生的缓存数据,因此,在对待测试对象进行多次冷启动操作的过程中,上述方案一方面保证了测试环境不发生变化,另一方面也避免了重启客户端产生的额外耗时,解决了基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的技术问题。这种通过清理文件缓存方式模拟冷启动测试对象的测试方法,达到了节约测试时间,提高测试结果准确度的目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种实施冷启动目标对象的测试示意图;
图2是根据本发明实施例一的清除客户端缓存的方法流程示意图;
图3是根据本发明实施例一的优选的清除客户端缓存的方法流程示意图;
图4是根据本发明实施例一的另一优选的清除客户端缓存的方法流程示意图;
图5是本申请实施例一中在冷启动测试耗时的应用场景中所实现清除客户端缓存的详细流程示意图;
图6是根据本发明实施例二的清除客户端缓存的装置的结构示意图;
图7是根据本发明实施例二的优选的清除客户端缓存的装置的结构示意图;
图8是根据本发明实施例二的又一优选的清除客户端缓存的装置的结构示意图;
以及
图9是是根据本发明实施例二的又一优选的清除客户端缓存的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,可以提供了一种用于在客户端上实施的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例一的清除客户端缓存的方法流程示意图。
如图2所示,该方法可以应用在客户端,从客户端的角度对本申请的实施过程进行详细描述,可以包括如下步骤:
步骤S20,记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存。该步骤可以是客户端启动之后,第一启动测试对象的测试过程,系统可以记录该冷启动过程的耗时时间。本发明可以通过冷启动抓取工具,来抓取被测对象在冷启动过程中产生的访问数据(例如文件读写操作),确定程序启动时所有需要读取的文件。
步骤S22,启动客户端的应用程序,使用应用程序抓取测试对象的存储路径。
该步骤S22中的存储路径可以表示系统需要执行清理缓存的测试对象的文件路径。同时,该步骤S22可以通过在应用程序提供的应用界面中选中测试对象,来实现获取测试对象的存储路径。
步骤S24,在触发应用界面上的清除缓存控件之后,调用启动文件系统函数。
步骤S26,在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存管理器。
步骤S28,缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据。
上述步骤S22至步骤S28实现了,在冷启动测试对象之后,需要先关闭该测试对象,才可以使用应用程序(即缓存清理工具)来选择冷启动过程中读取的测试对象(可以是文件和目录),并对该测试对象执行清理缓存的功能。在完成步骤S28之后,如果再次启动测试对象,此时由于缓存内容被删除,则再次启动测试对象是一个冷启动过程,从而本方案可模拟测试对象的冷启动过程。
分析可知,本申请上述实施例一,提供了一种在对测试对象进行一次冷启动操作之后,不需要重新启动该测试对象所在的客户端,就可以清除在缓存中保存上述冷启动过程产生的访问数据的方案。上述方案中,客户端通过启动客户端上安装的应用程序实现,在触发清除缓存控件之后可以调用启动文件系统函数来启动缓存管理器执行清除缓存的功能,该过程不需要重启客户端就可以删除之前冷启动测试对象时产生的缓存数据,因此,在对待测试对象进行多次冷启动操作的过程中,上述方案一方面保证了测试环境不发生变化,另一方面也避免了重启客户端产生的额外耗时,解决了基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的技术问题。这种通过清理文件缓存方式模拟冷启动测试对象的测试方法,达到了节约测试时间,提高测试结果准确度的目的。
容易注意到,由于不需要客户端重启就可以清除缓存中该测试对象的历史测试结果,而且需要进一步说明的是,由于启动应用程序之后,可以抓取到测试对象的存储路径,因此,被启动清除缓存功能缓存的缓存管理器可以依据该存储路径,清除缓存中该测试对象的缓存数据,从而可以避免了将缓存中其他文件也一并删除,清除结果更加准确,不影响其它应用程序或者文件的使用效率。因此,通过本发明实施例所提供的方案,在对测试对象进行冷启动之后,不需要重启客户端,仅需要通过调用启动文件系统函数,来启动缓存管理器清除测试对象在缓存中保存的访问数据即可,而且该过程中可以获取测试对象的存储路径,因此,在清除缓存的过程中,仅清除该测试对象对应的缓存数据。
此处需要示例说明的是,以将上述方案应用在冷启动测试耗时的场景中为例,本申请上述实施例中的测试对象可以是一个文件目录或者文件,应用程序是一个可执行程序,因此,可以通过该应用程序选择添加多个需要清除缓存的文件目录或文件,其中,在运行该可执行程序之后,使用应用程序抓取测试对象的存储路径的方式可以包括如下几种方案:通过点击文本框中的文件条目或者文件目录的条目来确定需要进行清除缓存的测试对象,应用程序读取上述测试对象的存储路径;通过触发应用程序的应用界面上的添加控件,来选择并添加需要进行清除缓存的测试对象,应用程序读取选中的测试对象的存储路径。由于,上述点击或选中测试对象的过程是一个访问测试对象的过程,操作系统可以自动获取并显示该测试对象在磁盘中的保存路径,因此,应用程序可以操作系统自带的功能来直接读取测试对象的存储路径。
此处还需要说明的是,本申请上述示例中的文件系统函数可以是操作系统自带的CreateFile函数,无缓冲启动文件标志位可以是CreateFile函数中的FILE_FLAG_NO_BUFFERING标记,在用户点击该应用程序的应用界面提供的清除缓存控件之后,可以通过windows系统接口调用CreateFile函数来执行清理缓存操作,通过查看CreateFile函数的第六个参数中是否有FILE_FLAG_NO_BUFFERING标记,来确定是否启动缓存管理器去清除缓存。
优选地,本申请上述实施例中,在执行步骤S24中的调用启动文件系统函数之后,可以包括如下实施步骤:写入步骤:将无缓冲启动文件标志位写入启动文件系统函数的第一参数,并将测试对象的访问路径写入启动文件系统函数中的第二参数。
以将上述方案应用在冷启动测试耗时的场景中为例,当上述实施方案中的测试对象是一个文件目录时,测试对象的存储路径是一个目录文件路径,启动文件系统函数的第一参数可以是CreateFile函数的第六个参数,启动文件系统函数中的第二参数可以是CreateFile函数的第一个参数。由此可知,上述实施步骤可以实现通过系统提供的打开文件系统接口来调用启动文件系统函数(即CreateFile函数),并将测试对象的存储路径(可以是目录文件路径)传入CreateFile函数的第一个参数,将无缓存打开文件标志位FILE_FLAG_NO_BUFFERING传入CreateFile函数的第六个参数。
优选地,如图3所示,本申请上述实施例中,在执行步骤S26中的启动缓存管理器之前,可以包括如下实施步骤:
步骤S30,启动测试对象,生成测试对象的测试对象句柄。
步骤S32,发送测试对象句柄至客户端的关闭文件系统函数中,使得在客户端检测到关闭文件系统函数中包含文件句柄的情况下,关闭测试对象。
仍旧以将上述方案应用在冷启动测试耗时的场景中为例,可以在调用启动文件系统函数之后,启动缓存管理器之前执行上述步骤S30和步骤32。由此可知,当系统调用CreateFile函数之后,由于会将测试对象的存储路径传入CreateFile函数的第一个参数,将传入CreateFile函数的第六个参数,因此,在CreateFile函数包含无缓存打开文件标志位FILE_FLAG_NO_BUFFERING时,可启动测试对象(表示打开该测试对象,使得测试对象处于待操作状态,例如等待接收读写请求),同时会生成对应的测试对象句柄(如果测试对象为文件,则生成一个文件句柄),此时,与根据CreateFile函数的标记来启动测试对象相对应的是,需要通过系统提供的关闭文件系统接口来调用关闭文件系统函数(即CloseFile函数),系统会将生成的测试对象句柄传入CloseFile函数的一个参数,使得在CloseFile函数根据包含的测试对象句柄来关闭测试对象(表示终止该测试对象接收任何操作请求)。
由此可知,本申请提供的上述优选实施例中,客户端只要使用CreateFile函数传入FILE_FLAG_NO_BUFFERING标记来打开指定的待测试文件,再将这个待测试文件关闭,系统就会启动缓存管理器来清除该待测试文件的系统缓存。由此可知,系统通过调用CreateFile函数的功能可以对选中的待测试文件仅执行必要的启动和关闭操作之后,就会启动缓存管理器来清除缓存中存储的该待测对象的历史访问数据,从而实现模拟冷启动的目的。具有耗费资源少,清除缓存数据效率高的优点。
优选地,如图4所示,本申请上述实施例中,在执行步骤S30中的启动测试对象之后,可以包括如下实施步骤:
步骤S40,客户端的文件系统接收读写测试对象的读写请求。
步骤S42,使用启动文件系统函数来中断文件系统将读写请求发送给客户端的缓存管理器,并将读写请求直接发送给客户端的磁盘驱动器。
步骤S44,客户端磁盘驱动器使用读写请求访问磁盘,获取读写请求所需要的数据。
步骤S46,客户端的文件系统接收返回的读写请求所需要的数据。
仍旧以将上述方案应用在冷启动测试耗时的场景中为例,在上述步骤S40至步骤S46提供的实施例中,可以具体说明了系统启动测试对象之后,进行打开测试对象的功能。此处需要说明的是,结合图5可知,在调用启动文件系统函数,并启动测试对象之后,所执行的打开测试对象的方式,系统可以选择通过缓存读写测试对象,也可以选择不通过缓存直接读写测试对象,由于本申请提供的上述实施例中,系统调用了启动文件系统函数(即CloseFile函数),因此,会通过CloseFile函数来选择不通过缓存直接读写测试对象,在实施过程中,系统会告知文件系统将测试对象的读写请求直接发送给磁盘驱动器来获取读写测试对象的读写结果,即不启动缓存管理器来接收上述读写请求。
优选地,本申请上述实施例中,步骤S42,使用启动文件系统函数来中断文件系统将读写请求发送给客户端的缓存管理器,将读写请求直接发送给客户端的磁盘驱动器的步骤可以包括如下实施方案:
步骤S421,调用启动文件系统函数,获取启动文件系统函数中的第一参数和第二参数。
步骤S423,在第一参数中读取到无缓冲启动文件标志位的情况下,停止启动缓存管理器来接收读写请求,启动磁盘驱动器来接收读写请求。其中,磁盘驱动器根据测试对象的访问路径将读写请求发送至磁盘对应的位置,使用读写请求处理测试对象,获取读写测试对象的读写结果。
优选地,在执行步骤S423中的停止启动缓存管理器来接收读写请求,启动磁盘驱动器之前,还可以包括如下实施方案:
检测步骤:检测启动文件系统函数中的第一参数是否包含无缓冲启动文件标志位,其中,如果检测到启动文件系统函数中的第一参数包含无缓冲启动文件标志位的情况下,则进入停止启动缓存管理器来接收读写请求,启动磁盘驱动器来接收读写请求的步骤;如果检测到第一参数中的无缓冲启动文件标志位为空,则启动缓存管理器接收读写请求。
综上可知,本申请提供的实施例一中的客户端是安装了一个用于清除缓存内容的应用程序的终端,使用该应用程序清除缓存的过程不需要重启客户端,以将本申请实施例一提供的方案应用在冷启动测试耗时的测试场景中为例,可以实现在冷启动一次测试对象,并记录此次冷启动测试对象的耗时之后,启动客户端的应用程序快速清除该测试对象缓存的数据,然后再对测试对象执行一轮新的冷启动测试耗时,由此,在对测试对象执行多次冷启动测试耗时的测试过程中,无需重启客户端,只需要在进行测试之前启动客户端的应用程序来清除测试对象的缓存内容即可。下面结合图5所示,就本申请的方案应用在上述冷启动测试耗时的应用场景中所实现的功能进行详细描述。
由于冷启动和热启动耗时的关键差别在于测试对象启动时所需要的文件是否缓存在物理内存中,所以本发明提供了一种无需启动客户端,就可以清除系统对测试对象的缓存,从而模拟对该测试对象进行冷启动测试耗的过程。
首先,系统在初次启动客户端之后,初次启动测试对象,该过程是一次冷启动过程,该过程中包括对打开的测试对象进行访问及操作,系统会缓存测试对象在该冷启动过程中产生的访问数据(即冷启动过程中所需要的文件数据)。
然后,在客户端启动用于清除缓存的工具,该工具是一个可执行的应用程序,在运行该应用程序的过程中,需要在应用程序提供的应用界面上,先选择添加至少一个需要清除缓存的测试对象(可以包括文件目录或文件),该选择添加的过程,就是指定一个文件目录或者文件的过程,即遍历该指定的文件目录下所有文件,或是指定文件目录下的一个文件,从而获取文件目录或文件的文件路径,其中,该文件路径就是需要清理缓存的存储路径。
接着,在点击上述应用程序的应用界面上的清理缓存按钮之后,启动系统通过打开文件系统接口来调用CreateFile函数,将获取到的文件目录或文件的文件路径传入该CreateFile函数的第一个参数,并将FILE_FLAG_NO_BUFFERING标记传入该CreateFile函数的第六个参数(可以通过将FILE_FLAG_NO_BUFFERING标记位置位为1来实现传入第六个参数的过程)。
此时,在检测到上述CreateFile函数包含FILE_FLAG_NO_BUFFERING标记位时,打开文件目录或文件,并生成对应的目标文件句柄,并通过系统提供的关闭文件系统接口来调用关闭文件系统函数(即CloseFile函数),系统会将生成的目标文件句柄传入CloseFile函数的一个参数,使得在CloseFile函数根据包含的目标文件句柄来关闭之前打开的文件目录或文件。其中,上述打开文件目录或文件可以包括两种方式:通过缓存读写文件(即客户端的文件系统接收缓存读写请求),或者,不通过缓存直接读写文件(即客户端的文件系统接收无缓存读写请求)。
接着,对应windows系统接口调用CreateFile函数,检测该CreateFile函数的第六个参数中是否有FILE_FLAG_NO_BUFFERING标记,如果没有则通过图5中实线所表示的需要通过缓存进行读写文件的方式,来执行打开文件目录或文件,如果有上述标记,则通过图5中虚线所表示的不需要通过缓存,而直接访问磁盘驱动程序读写磁盘中的文件的方式,来执行打开文件目录或文件。
另外,在采用图5中虚线所表示的不需要通过缓存,而直接访问磁盘驱动程序读写磁盘中的文件的方式时,应用程序会启动缓存管理器来清除该文件目录或文件的系统缓存。
综上可知,本申请上述示例,可以使用应用程序来启动使用CreateFile函数传入FILE_FLAG_NO_BUFFERING标记,执行采用不通过缓存直接读写文件的方式来打开指定文件,再将这个文件关闭,该过程中系统就启动缓存管理器来清除测试对象的缓存。从而达到模拟冷启动的目的。
此处需要进一步说明的是,上述应用程序运行后可以显示一个应用界面,可以在该应用界面的左侧设置“要清理的文件或目录”列表的显示区域,选择添加的需要清除缓存的文件和目录显示在该区域中,系统遍历已添加在左侧“要清理的文件或目录”列表中的文件和目录。通过点击应用界面上的清理缓存按钮执行清理缓存操作,如果选中的是文件,则对该文件调用上述执行过程,来清理文件缓存,如果选中的是目录,则遍历该目录中所有文件,调用上述执行过程,来清理目录文件缓存,执行完成后添加在左侧“要清理的文件或目录”列表中的所有文件(包括目录中包含的文件)的缓存全部会被清空。另外,可以在上述应用界面的右侧输出清除缓冲的日志信息,显示清理缓存是否成功。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在描述本申请的各实施例的进一步细节之前,将参考图6来描述可用于实现本申请的原理的一个合适的装置结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
在其最基本的配置中,图6是根据本发明实施例二的清除客户端缓存的装置的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。
如图6所示,本申请提供的清除客户端缓存的装置可以包括:一冷启动处理模块601、一获取模块603、一调用模块605、一启动模块607、一清除模块609。
其中,冷启动处理模块601,用于记录客户端的测试对象在冷启动过程中的访问数据,并保存访问数据至缓存;获取模块603,用于启动客户端的应用程序,使用应用程序抓取测试对象的存储路径;调用模块605,用于在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;启动模块607,用于在启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存管理器;清除模块609,用于缓存管理器根据测试对象的存储路径,清除测试对象在缓存中保存的访问数据。
上述装置方案实现了,在冷启动测试对象之后,需要先关闭该测试对象,才可以使用应用程序(即缓存清理工具)来选择冷启动过程中读取的测试对象(可以是文件和目录),并对该测试对象执行清理缓存的功能。在完成清除测试对象在缓存中保存的访问数据之后,如果再次启动测试对象,此时由于缓存内容被删除,则再次启动测试对象是一个冷启动过程,从而本方案可模拟测试对象的冷启动过程。
分析可知,本申请上述实施例二,提供了一种在对测试对象进行一次冷启动操作之后,不需要重新启动该测试对象所在的客户端,就可以清除在缓存中保存上述冷启动过程产生的访问数据的方案。上述方案中,客户端通过启动客户端上安装的应用程序实现,在触发清除缓存控件之后可以调用启动文件系统函数来启动缓存管理器执行清除缓存的功能,该过程不需要重启客户端就可以删除之前冷启动测试对象时产生的缓存数据,因此,在对待测试对象进行多次冷启动操作的过程中,上述方案一方面保证了测试环境不发生变化,另一方面也避免了重启客户端产生的额外耗时,解决了基于重启计算机客户端的方式来执行冷启动测试耗时的方案,由于测试环境复杂、测试等待时间较长,导致冷启动测试耗时的测试结果不准确的技术问题。这种通过清理文件缓存方式模拟冷启动测试对象的测试方法,达到了节约测试时间,提高测试结果准确度的目的。
容易注意到,由于不需要客户端重启就可以清除缓存中该测试对象的历史测试结果,而且需要进一步说明的是,由于启动应用程序之后,可以抓取到测试对象的存储路径,因此,被启动清除缓存功能缓存的缓存管理器可以依据该存储路径,清除缓存中该测试对象的缓存数据,从而可以避免了将缓存中其他文件也一并删除,清除结果更加准确,不影响其它应用程序或者文件的使用效率。因此,通过本发明实施例所提供的方案,在对测试对象进行冷启动之后,不需要重启客户端,仅需要通过调用启动文件系统函数,来启动缓存管理器清除测试对象在缓存中保存的访问数据即可,而且该过程中可以获取测试对象的存储路径,因此,在清除缓存的过程中,仅清除该测试对象对应的缓存数据。
此处需要示例说明的是,以将上述方案应用在冷启动测试耗时的场景中为例,本申请上述实施例中的测试对象可以是一个文件目录或者文件,应用程序是一个可执行程序,因此,可以通过该应用程序选择添加多个需要清除缓存的文件目录或文件,其中,在运行该可执行程序之后,使用应用程序抓取测试对象的存储路径的方式可以包括如下几种方案:通过点击文本框中的文件条目或者文件目录的条目来确定需要进行清除缓存的测试对象,应用程序读取上述测试对象的存储路径;通过触发应用程序的应用界面上的添加控件,来选择并添加需要进行清除缓存的测试对象,应用程序读取选中的测试对象的存储路径。由于,上述点击或选中测试对象的过程是一个访问测试对象的过程,操作系统可以自动获取并显示该测试对象在磁盘中的保存路径,因此,应用程序可以操作系统自带的功能来直接读取测试对象的存储路径。
此处还需要说明的是,本申请上述示例中的文件系统函数可以是操作系统自带的CreateFile函数,无缓冲启动文件标志位可以是CreateFile函数中的FILE_FLAG_NO_BUFFERING标记,在用户点击该应用程序的应用界面提供的清除缓存控件之后,可以通过windows系统接口调用CreateFile函数来执行清理缓存操作,通过查看CreateFile函数的第六个参数中是否有FILE_FLAG_NO_BUFFERING标记,来确定是否启动缓存管理器去清除缓存。
优选地,本申请上述实施例中,在执行步骤S24中的调用启动文件系统函数之后,可以包括如下实施步骤:将无缓冲启动文件标志位写入启动文件系统函数的第一参数,并将测试对象的访问路径写入启动文件系统函数中的第二参数。
以将上述方案应用在冷启动测试耗时的场景中为例,当上述实施方案中的测试对象是一个文件目录时,测试对象的存储路径是一个目录文件路径,启动文件系统函数的第一参数可以是CreateFile函数的第六个参数,启动文件系统函数中的第二参数可以是CreateFile函数的第一个参数。由此可知,上述实施步骤可以实现通过系统提供的打开文件系统接口来调用启动文件系统函数(即CreateFile函数),并将测试对象的存储路径(可以是目录文件路径)传入CreateFile函数的第一个参数,将无缓存打开文件标志位FILE_FLAG_NO_BUFFERING传入CreateFile函数的第六个参数。
本申请上述实施例所提供的装置可以在客户端上运行,实施过程中,在上述实施例中的客户端可以是安装了应用程序的清除缓存的工具。
此处需要说明的是,上述冷启动处理模块601、获取模块603、调用模块605、启动模块607、清除模块609可以通过客户端的处理器来实现,对应于实施例一中的步骤S20至步骤S28,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
优选地,如图7所示,在执行调用模块605之前,装置还可以使用客户端中的处理器来执行如下模块的功能:访问模块701,用于访问启动文件系统函数;写入模块703,用于将无缓冲启动文件标志位写入启动文件系统函数的第一参数,并将测试对象的访问路径写入启动文件系统函数中的第二参数。
此处需要说明的是,上述访问模块701和写入模块703对应于实施例一中的写入步骤,二个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
优选地,如图8所示,在执行启动模块607之前,装置还可以使用客户端中的处理器来执行如下模块的功能:生成模块801,用于启动测试对象,生成测试对象的测试对象句柄;发送模块803,用于发送测试对象句柄至客户端的关闭文件系统函数中,使得在客户端检测到关闭文件系统函数中包含文件句柄的情况下,关闭测试对象。
此处需要说明的是,上述生成模块801和发送模块803对应于实施例一中的步骤S30和步骤S32,二个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
优选地,如图9所示,在执行生成模块801之前,装置还可以使用客户端中的处理器来执行如下模块的功能:接收模块901,用于客户端的文件系统接收读写测试对象的读写请求;处理模块903,用于使用启动文件系统函数来中断文件系统将读写请求发送给客户端的缓存管理器,并将读写请求直接发送给客户端的磁盘驱动器;子获取模块905,用于客户端磁盘驱动器使用读写请求访问磁盘,获取读写请求所需要的数据;接收模块906,用于客户端的文件系统接收返回的读写请求所需要的数据。
此处需要说明的是,上述接收模块901、处理模块903、子获取模块905和接收模块906对应于实施例一中的步骤S40和步骤S46,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
优选地,可以使用客户端中的处理器来实现上述处理模块903的功能,上述处理模块903可以包括:可以运行来客户端处理器中的调用模块和控制模块,其中,调用模块,用于调用启动文件系统函数,获取启动文件系统函数中的第一参数和第二参数;控制模块,用于在第一参数中读取到无缓冲启动文件标志位的情况下,停止启动缓存管理器来接收读写请求,启动磁盘驱动器来接收读写请求;其中,磁盘驱动器根据测试对象的访问路径将读写请求发送至磁盘对应的位置,使用读写请求处理测试对象,获取读写测试对象的读写结果。
此处需要说明的是,上述调用模块和控制模块对应于实施例一中的步骤S421和步骤S423,二个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
优选地,在执行控制模块实现停止启动缓存管理器来接收读写请求,启动磁盘驱动器之前,装置还可以使用客户端中的处理器来执行如下模块的功能:检测模块,用于检测启动文件系统函数中的第一参数是否包含无缓冲启动文件标志位;第一子处理模块,用于如果检测到启动文件系统函数中的第一参数包含无缓冲启动文件标志位的情况下,则执行控制模块实现的进入停止启动缓存管理器来接收读写请求,启动磁盘驱动器来接收读写请求的功能;第二子处理模块,用于如果检测到第一参数中的无缓冲启动文件标志位为空,则启动缓存管理器接收读写请求。
此处需要说明的是,上述检测模块、第一子处理模块和第二子处理模块对应于实施例一中的检测步骤,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在客户端中,可以通过软件实现,也可以通过硬件实现。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种清除客户端缓存的方法,其特征在于,包括:
记录客户端的测试对象在冷启动过程中的访问数据,并保存所述访问数据至缓存;
启动所述客户端的应用程序,使用所述应用程序抓取所述测试对象的存储路径;
在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;
在所述启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存管理器;
所述缓存管理器根据所述测试对象的存储路径,清除所述测试对象在所述缓存中保存的所述访问数据。
2.根据权利要求1所述的方法,其特征在于,在调用启动文件系统函数之后,所述方法还包括:将所述无缓冲启动文件标志位写入所述启动文件系统函数的第一参数,并将所述测试对象的访问路径写入所述启动文件系统函数中的第二参数。
3.根据权利要求2所述的方法,其特征在于,在启动缓存管理器之前,所述方法还包括:
启动所述测试对象,生成所述测试对象的测试对象句柄;
发送所述测试对象句柄至所述客户端的关闭文件系统函数中,使得在所述客户端检测到所述关闭文件系统函数中包含所述测试对象句柄的情况下,关闭所述测试对象。
4.根据权利要求3所述的方法,其特征在于,在启动所述测试对象之后,所述方法还包括:
所述客户端的文件系统接收读写所述测试对象的读写请求;
使用所述启动文件系统函数来中断所述文件系统将所述读写请求发送给所述客户端的缓存管理器,并将所述读写请求直接发送给所述客户端的磁盘驱动器;
所述客户端的磁盘驱动器使用所述读写请求访问磁盘,获取所述读写请求所需要的数据;
所述客户端的所述文件系统接收返回的所述读写请求所需要的数据。
5.根据权利要求4所述的方法,其特征在于,使用启动文件系统函数来中断所述文件系统将所述读写请求发送给所述客户端的缓存管理器,将所述读写请求直接发送给所述客户端的磁盘驱动器的步骤包括:
调用所述启动文件系统函数,获取所述启动文件系统函数中的第一参数和第二参数;
在所述第一参数中读取到所述无缓冲启动文件标志位的情况下,停止启动所述缓存管理器来接收所述读写请求,启动所述磁盘驱动器来接收所述读写请求;
其中,所述磁盘驱动器根据所述测试对象的访问路径将所述读写请求发送至磁盘对应的位置,使用所述读写请求处理所述测试对象,获取读写所述测试对象的读写结果。
6.根据权利要求5所述的方法,其特征在于,在停止启动所述缓存管理器来接收所述读写请求,启动所述磁盘驱动器之前,所述方法还包括:
检测所述启动文件系统函数中的第一参数是否包含无缓冲启动文件标志位,
其中,
在检测到所述启动文件系统函数中的第一参数包含所述无缓冲启动文件标志位的情况下,则进入停止启动所述缓存管理器来接收所述读写请求,启动所述磁盘驱动器来接收所述读写请求的步骤;
如果检测到所述第一参数中的所述无缓冲启动文件标志位为空,则启动所述缓存管理器接收所述读写请求。
7.一种清除客户端缓存的装置,其特征在于,包括:
冷启动处理模块,用于记录客户端的测试对象在冷启动过程中的访问数据,并保存所述访问数据至缓存;
获取模块,用于启动所述客户端的应用程序,使用所述应用程序抓取所述测试对象的存储路径;
调用模块,用于在触发应用界面上的清除缓存控件之后,调用启动文件系统函数;
启动模块,用于在所述启动文件系统函数中包含无缓冲启动文件标志位的情况下,启动缓存管理器;
清除模块,用于所述缓存管理器根据所述测试对象的存储路径,清除所述测试对象在所述缓存中保存的所述访问数据。
8.根据权利要求7所述的装置,其特征在于,在调用启动文件系统函数之前,所述装置还包括:
访问模块,用于访问所述启动文件系统函数;
写入模块,用于将所述无缓冲启动文件标志位写入所述启动文件系统函数的第一参数,并将所述测试对象的访问路径写入所述启动文件系统函数中的第二参数。
9.根据权利要求8所述的装置,其特征在于,在启动缓存管理器之前,所述装置还包括:
生成模块,用于启动所述测试对象,生成所述测试对象的测试对象句柄;
发送模块,用于发送所述测试对象句柄至所述客户端的关闭文件系统函数中,使得在所述客户端检测到所述关闭文件系统函数中包含所述测试对象句柄的情况下,关闭所述测试对象。
10.根据权利要求9所述的装置,其特征在于,在启动所述测试对象之后,所述装置还包括:
接收模块,用于所述客户端的文件系统接收读写所述测试对象的读写请求;
处理模块,用于使用所述启动文件系统函数来中断所述文件系统将所述读写请求发送给所述客户端的缓存管理器,并将所述读写请求直接发送给所述客户端的磁盘驱动器;
子获取模块,用于所述客户端的磁盘驱动器使用所述读写请求访问磁盘,获取所述读写请求所需要的数据;
接收模块,用于所述客户端的所述文件系统接收返回的所述读写请求所需要的数据。
11.根据权利要求10所述的装置,其特征在于,所述处理模块包括:
调用模块,用于调用所述启动文件系统函数,获取所述启动文件系统函数中的第一参数和第二参数;
控制模块,用于在所述第一参数中读取到所述无缓冲启动文件标志位的情况下,停止启动所述缓存管理器来接收所述读写请求,启动所述磁盘驱动器来接收所述读写请求;
其中,所述磁盘驱动器根据所述测试对象的访问路径将所述读写请求发送至磁盘对应的位置,使用所述读写请求处理所述测试对象,获取读写所述测试对象的读写结果。
12.根据权利要求11所述的装置,其特征在于,在停止启动所述缓存管理器来接收所述读写请求,启动所述磁盘驱动器之前,所述装置还包括:
检测模块,用于检测所述启动文件系统函数中的第一参数是否包含无缓冲启动文件标志位;
第一子处理模块,用于如果检测到所述启动文件系统函数中的第一参数包含所述无缓冲启动文件标志位的情况下,则执行所述控制模块的功能;
第二子处理模块,用于如果检测到所述第一参数中的所述无缓冲启动文件标志位为空,则启动所述缓存管理器接收所述读写请求。
CN201410156308.5A 2014-04-17 2014-04-17 清除客户端缓存的方法和装置 Active CN105005519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410156308.5A CN105005519B (zh) 2014-04-17 2014-04-17 清除客户端缓存的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410156308.5A CN105005519B (zh) 2014-04-17 2014-04-17 清除客户端缓存的方法和装置

Publications (2)

Publication Number Publication Date
CN105005519A true CN105005519A (zh) 2015-10-28
CN105005519B CN105005519B (zh) 2019-06-18

Family

ID=54378198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410156308.5A Active CN105005519B (zh) 2014-04-17 2014-04-17 清除客户端缓存的方法和装置

Country Status (1)

Country Link
CN (1) CN105005519B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339470A (zh) * 2016-08-29 2017-01-18 北京小米移动软件有限公司 文件处理方法及装置
CN110362355A (zh) * 2018-04-02 2019-10-22 青岛海信移动通信技术股份有限公司 一种应用界面显示方法及装置
CN114690988A (zh) * 2022-03-08 2022-07-01 北京字跳网络技术有限公司 测试方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840752B2 (en) * 2006-10-30 2010-11-23 Microsoft Corporation Dynamic database memory management policies
CN102023822A (zh) * 2010-12-17 2011-04-20 深圳市江波龙电子有限公司 对主机清缓存的方法及系统
CN102289398A (zh) * 2010-06-17 2011-12-21 英业达股份有限公司 重启测试方法
US20140006805A1 (en) * 2012-06-28 2014-01-02 Microsoft Corporation Protecting Secret State from Memory Attacks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840752B2 (en) * 2006-10-30 2010-11-23 Microsoft Corporation Dynamic database memory management policies
CN102289398A (zh) * 2010-06-17 2011-12-21 英业达股份有限公司 重启测试方法
CN102023822A (zh) * 2010-12-17 2011-04-20 深圳市江波龙电子有限公司 对主机清缓存的方法及系统
US20140006805A1 (en) * 2012-06-28 2014-01-02 Microsoft Corporation Protecting Secret State from Memory Attacks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339470A (zh) * 2016-08-29 2017-01-18 北京小米移动软件有限公司 文件处理方法及装置
CN106339470B (zh) * 2016-08-29 2020-02-04 北京小米移动软件有限公司 文件处理方法及装置
CN110362355A (zh) * 2018-04-02 2019-10-22 青岛海信移动通信技术股份有限公司 一种应用界面显示方法及装置
CN110362355B (zh) * 2018-04-02 2022-06-28 青岛海信移动通信技术股份有限公司 一种应用界面显示方法及装置
CN114690988A (zh) * 2022-03-08 2022-07-01 北京字跳网络技术有限公司 测试方法、装置和电子设备
CN114690988B (zh) * 2022-03-08 2024-01-23 北京字跳网络技术有限公司 测试方法、装置和电子设备

Also Published As

Publication number Publication date
CN105005519B (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
US9063766B2 (en) System and method of manipulating virtual machine recordings for high-level execution and replay
US9483383B2 (en) Injecting faults at select execution points of distributed applications
US9355003B2 (en) Capturing trace information using annotated trace output
CN101872323A (zh) 一种基于虚拟机的故障注入测试方法
KR101748833B1 (ko) 소프트웨어 고장의 위치 확정 방법, 장치 및 설비
CN110955598B (zh) 一种内核态程序的断点处理方法及装置
CN105574416A (zh) 一种浏览器漏洞检测方法及装置
US8898644B2 (en) Efficient unified tracing of kernel and user events with multi-mode stacking
CN105005519A (zh) 清除客户端缓存的方法和装置
CN109542341B (zh) 一种读写io监测方法、装置、终端及计算机可读存储介质
CN108647284B (zh) 记录用户行为的方法及装置、介质和计算设备
CN110597704B (zh) 应用程序的压力测试方法、装置、服务器和介质
US11151013B2 (en) Systems and methods for performance evaluation of input/output (I/O) intensive enterprise applications
CN104899129A (zh) 日志记录方法及装置
CN110889116B (zh) 一种广告拦截方法、装置及电子设备
CN110134615B (zh) 应用程序获取日志数据的方法及装置
CN106528411A (zh) 覆盖率检测方法、装置和设备
CN108763050A (zh) 一种应用内存泄露的检测方法和装置
CN110515803B (zh) 针对日志消息的处理方法、装置以及电子设备
CN104750693B (zh) 一种打点的实现方法和装置
US11074155B2 (en) Generating representative microbenchmarks
CN114138575A (zh) 一种硬盘数据垃圾回收的测试方法、装置、设备及介质
CN113407504B (zh) 一种数据处理方法、用户空间文件系统以及存储介质
Hong et al. Perfprobe: A systematic, cross-layer performance diagnosis framework for mobile platforms
CN113204379B (zh) 测试资源动态加载方法、系统、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant