一种测试结果传输方法、装置、服务器及存储介质与流程

文档序号:14474072阅读:229来源:国知局
一种测试结果传输方法、装置、服务器及存储介质与流程

本发明涉及互联网技术领域,具体涉及一种测试结果传输方法及装置,一种服务器和一种存储介质。



背景技术:

随着终端技术的发展,终端设备的性能越来越好,因此越来越多的应用程序开始涌现。用户可以使用各种应用程序执行所需的操作,如通过游戏应用玩游戏,通过视频应用播放音视频,通过浏览器应用进行搜索、查询信息等。

应用程序在开发完,正式上线发布之前,需要对应用程序进行测试,测试完成没有问题后才会上线,其中由于不同终端设备的操作系统存在一定的区别,因此应用程序需要在不同型号的终端设备上进行测试。为了便于应用程序进行测试,可以提供测试平台,该测试平台提供多种不同型号的测试设备,服务器对测试设备进行远程控制,从而可以在测试设备上运行应用程序。

测试设备在完成应用程序的测试后,会将测试结果上传到测试平台,测试平台会将结果分发到服务器中存储,但是,一个应用程序对应的测试结果中可能存在多种文件,任意文件传输失败都会导致测试失败,或者由于上传时间过程等导致上传失败。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试结果传输方法,相应的测试结果传输装置,服务器以及存储介质。

依据本发明的一个方面,提供了1、一种测试结果传输方法,应用于测试平台,所述测试平台包括服务器和多于一台测试设备,所述的方法包括:接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果;采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传;依据返回的上传结果生成回传信息,发送所述回传信息。

可选的,所述类型包括:日志类型和图像类型;所述从任务执行结果中获取各类型的结果信息,包括:分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

可选的,所述采用并行线程分类型传输所述结果信息,包括:确定处理各类型的结果信息对应线程的线程数;依据所述线程数给各线程分配结果信息,采用各线程并行上传分配的结果信息。

可选的,所述确定处理各类型的结果信息对应线程的线程数,包括:依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

可选的,所述依据返回的上传结果生成回传信息,包括:分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

可选的,还包括:分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

可选的,还包括:在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。

可选的,所述随机数依据所述结果信息的上传失败次数递增。

可选的,所述回传信息包括:上传失败的回传信息,所述的依据返回的上传结果生成回传信息,包括:接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。

可选的,所述上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。

根据本发明的另一个方面,提供了一种测试结果传输装置,应用于测试平台的服务器中,所述测试平台还包括测试设备,所述的装置包括:分配模块,用于接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果;传输模块,用于采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传;回传模块,用于依据返回的上传结果生成回传信息,发送所述回传信息。

可选的,所述类型包括:日志类型和图像类型;所述分配模块,用于分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

可选的,所述传输模块,包括:线程数确定子模块,用于确定处理各类型的结果信息对应线程的线程数;并行传输子模块,用于依据所述线程数给各线程分配结果信息,采用各线程并行上传分配的结果信息。

可选的,所述线程数确定子模块,用于依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

可选的,所述回传模块,用于分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

可选的,还包括:清理模块,用于分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

可选的,还包括:重传模块,用于在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。

可选的,所述随机数依据所述结果信息的上传失败次数递增。

可选的,所述回传信息包括:上传失败的回传信息,所述回传模块,用于接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。

可选的,所述上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。

根据本发明的另一个方面,提供了一种服务器,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如本发明实施例中一个或多个所述的测试结果传输方法。

根据本发明的另一个方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得服务器执行如本发明实施例中一个或多个所述的测试结果传输方法。

根据本发明的一种测试结果传输方法及装置,可应用于测试平台,该测试平台包括服务器和多于一台测试设备,测试设备执行测试任务得到任务执行结果,服务器在接收到任务执行结果后后,可所述任务执行结果中获取各类型的结果信息,然后分类型确定线程,采用并行线程分类型传输所述结果信息,可以有效的提高结果信息的传输效率,再返回的上传结果生成回传信息,发送所述回传信息,从而能够得到快速的上传任务执行结果的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明一个实施例的一种测试结果传输方法的步骤流程图;

图2示出了本发明另一个实施例的一种测试结果传输方法的步骤流程图;

图3示出了根据本发明一个实施例的一种测试结果传输装置实施例的结构框图;

图4示出了根据本发明另一个实施例的一种测试结果传输装置实施例的结构框图;

图5示意性地示出了用于执行根据本发明的方法的服务器的框图;

图6示意性地示出了用于保持或者携带实现根据本发明的方法的程序代码的存储单元;以及

图7示意性地示出了与本发明实施例提供的终端设备相关的部分结构的框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例中,测试平台用于对应用程序进行测试,例如可以测试运行的状态,如卡顿、流畅度,又如测试应用程序的兼容性,又如进行ui(userinterface,用户界面)遍历测试等。测试平台包括服务器和多于一台测试设备,服务器用于对测试设备进行管理,可以确定测试设备的状态、分发任务以及确定任务结果等。测试设备用于对应用程序进行测试。测试平台的服务器包括多台,例如包括管理服务器、存储服务器等,其中,存储服务器也可包括多台,例如存储日志数据的日志服务器,存储图片数据的图片服务器等。

其中,由于应用程序通常会在不同型号的测试设备上进行测试,因此测试平台可包括各种型号的测试设备。为了便于为更多应用程序提供测试服务,本实施例中,测试设备按照设备型号进行分组,每个分组包括至少一个测试设备,从而通过不同分组区分不同的测试设备,便于服务器查询不同型号的设备进行测试,该分组也可看作是设备池,则同一型号的各测试设备可构成设备池,从而服务器可从设备池中选取设备进行应用程序的测试。

在管理服务器接收到测试设备的任务执行结果后,需要将任务执行结果中的信息分类传输给相应的存储服务器,但是这些信息一个一个传输效率较低,还可能导致测试失败。因此本实施例可通过多个并行线程传输任务执行结果中的各信息,从而减少传输时间,提高传输效率,也避免由于部分信息文字而影响其他数据的传输。

参照图1,示出了本发明一个实施例的一种测试结果传输方法的步骤流程图。

步骤102,接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果。

测试平台中管理服务器可将测试任务分发给各测试设备,例如在接收到一个新的测试任务后,确定该测试任务要测试的型号信息和任务信息,依据该型号信息选择测试设备,如选择所需型号的空闲测试设备,然后向选择的测试设备分发测试任务。测试设备接收到测试任务并确认可执行后,可以执行该测试任务,例如执行ui遍历任务,又如执行兼容性测试任务等。在测试设备执行测试任务完毕后可获取相应的结果作为任务执行结果,如性能结果,那个ui控件可能导致设备问题等。测试设备可将任务执行结果发送给测试平台的服务器,如管理服务器。

管理服务器对应可接收测试设备发送的任务执行结果,该执行结果包括各种类型的结果信息,如日志类、图片类等,从而可以从该任务执行结果中获取各类型的结果信息。

步骤104,采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传。

管理服务器中设置有多个线程,从而在传输结果信息时可多线程并行处理,因此可以按照结果信息的类型分配线程,针对每种类型分配至少一个线程,从而采用分配的线程并行传输对应类型的结果信息。通过多线程并行传输结果信息,可以提高结果信息的传输效率。并且,若某些结果信息出现问题,其他结果信息可以采用其他并行线程传输,减少对结果信息传输的影响,提高测试成功率。

步骤106,依据返回的上传结果生成回传信息,发送所述回传信息。

在上传结果信息后,还可接收各存储服务器反馈的上传结果,如结果信息的存储地址等,然后可基于上传结果生成回传信息,然后发送回传信息给执行测试的用户,并在管理服务器中存储该回传信息。

综上,测试平台包括服务器和多于一台测试设备,测试设备执行测试任务得到任务执行结果,服务器在接收到任务执行结果后后,可所述任务执行结果中获取各类型的结果信息,然后分类型确定线程,采用并行线程分类型传输所述结果信息,可以有效的提高结果信息的传输效率,再返回的上传结果生成回传信息,发送所述回传信息,从而能够快速的完成任务执行结果的上传。

若某些结果信息上传失败,可以先传输其他结果信息,后续再重新传输失败的结果信息,从而一个结果信息的失败不影响其他结果信息的传输。通过并行线程传输结果信息减少传输时间的同时,也可以减少由于传输时间过长导致的测试失败,提高测试的成功率。

本发明一个可选实施例中,所述服务器给各测试设备下发测试任务,并对执行测试任务的测试设备进行监控,包括:所述服务器按照设备标识,给各测试设备下发测试任务;依据执行测试任务的测试设备对应设备标识,监控所述测试设备对测试任务的执行。本发明实施例中,测试设备可通过设备标识唯一表示,从而通过设备标识可识别不同的测试设备。服务器可通过测试设备对测试任务的执行来感知设备状态,从而识别出可能存在故障的设备进行锁定。服务器可接收测试任务,然后确定该测试任务需要的测试设备的型号信息,测试任务的各种任务信息等,依据该型号信息可选择空闲或能够执行测试任务的测试设备,然后该选择的测试设备下发测试任务。依据该设备标识,服务器还可对执行测试任务的测试设备进行监控,监控测试设备对测试任务的执行,如监控测试任务是否执行完毕,已执行测试任务的执行时间等。本实施例中,测试设备在测试任务执行完毕后,可发送测试结果给服务器,从而服务器可获知测试执行完毕。而对于未执行完毕的测试任务,服务器可通过测试任务的执行时间来监控任务的执行。

参照图2,示出了本发明另一个实施例的一种测试结果传输方法的步骤流程图。

步骤202,接收测试设备发送的任务执行结果。

在测试设备执行测试任务完毕后可获取相应的结果作为任务执行结果,如性能结果,那个ui控件可能导致设备问题等。测试设备可将任务执行结果发送给测试平台的服务器,如管理服务器。管理服务器对应可接收测试设备发送的任务执行结果,该执行结果包括各种类型的结果信息,如日志类、图片类等,从而可以从该任务执行结果中获取各类型的结果信息。

步骤204,分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

管理服务器可分配一个线程进行传输任务的分配,该线程可为分配线程,即采用该分配线程对任务执行结果进行处理,例如任务执行结果为结果的压缩包文件,则可以对该压缩包文件进行解压,获取相应的文件即结果信息。本实施例中,所述类型包括:日志类型和图像类型,则结果信息包括图片结果信息和日志结果信息。该图片结果信息为测试过程中获取的图片数据,日志结果信息为测试过程中生成的日志数据。从而可以从任务执行结果中获取图片结果信息和日志结果信息。

步骤206,确定处理各类型的结果信息对应线程的线程数。

获取到各类型的结果信息后,可以确定处理每种类别的结果信息的线程数,为了提高处理效率,不同类别的线程数可依据各类别结果信息的数据量、数量等确定,例如图片结果信息的数据量比较大,而日志结果信息的数据量比较小,则可采用多于一个线程上传图片结果信息,而采用一个线程上传日志结果信息。将上传结果信息的线程作为处理线程,则服务器对应多个处理线程,且不同类别的结果信息通过不同的处理线程传输。

其中,所述确定处理各类型的结果信息对应线程的线程数,包括:依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。可以确定图片结果信息的图片数量,以及图片结果信息的总数据量即第一数据量,还可以确定日志结果信息的日志数量,以及日志结果信息的总数据量即第二数据量,然后将图片数据和第一数据量,与日志数量和第二数据量进行比较,例如图片数据和第一数据量比较大,而日志数量和第二数据量比较小,则给图片类型分配更多数量的线程,而日志类型分配的线程数相对小些,例如所有日志结果信息通过一个或两个线程传输,而一个或两个图片(或图片结果信息)对应一个线程,从而确定出图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

本实施例中,可以将一个图片作为一个图片结果信息,从而分图片上传,提供传输效率。在分配图片结果信息和日志结果信息对应线程的线程数时,可以估计不同数据的传输时间,从而使得图片类和日志类的传输时间基本一致或差值较小。

在测试执行结果中,通常图片的数据量比较大,数量也比较多,日志的数据量较小,数量也较少,因此可配置处理图片的线程数大于处理日志的线程数。

本实施例中,还可针对图片和日志分别设置线程池,则设置图片线程池和日志线程池,图片线程池中线程用于传输图片数据即图片结果信息,日志线程池中线程用于传输日志数据即日志结果信息。通过线程池服务器还可以支持多各不同终端设备的任务执行结果的传输,提供服务器的处理效率。

步骤208,依据所述线程数给各线程分配结果信息。

步骤210,采用各线程并行上传分配的结果信息。

在确定出处理日志的线程数和处理图片的线程数后,可按照线程数给各线程分配结果信息,即给处理图片的线程分配图片结果信息,给处理日志的线程分配日志结果信息。然后可以采用各线程并行传输所分配的结果信息。

例如只有一个日志线程,则采用该线程依次传输各个日志结果信息;而图片线程的线程数为5,则采用这5个线程同步上传5各图片结果信息,在其中某个线程传输完毕后,再获取其他图片结果信息进行上传。

本发明一个可选实施例中,在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。即在采用线程上传结果信息时,若某一结果信息上传失败,可以重新上传该结果信息。其中,上传失败可能是各种原因导致的,如缺少日志或图片数据,又如服务器故障、线程故障等。对于日志或图片数据缺少的问题,可以向测试设备请求相应的日志或图片等数据,然后再重新传输。对于服务器故障、线程故障等问题,可以等待一段时间,在服务器、线程恢复后在传输,因此可确定重传时间,本实施例中可确定一随机数,然后基于随机数来配置重传时间,如随机数为5,则5分钟后重传,从而在达到重传时间后,重新上传所述结果信息。

为了避免无限制的重传,可以设置重传阈值,在重新传输的次数达到该重传阈值后,可停止重新传输给结果信息,标识该结果信息传输失败。其中,所述随机数依据所述结果信息的上传失败次数递增,即初次重传时的随机数小于后续重传的随机数。重传次数越多对应随机数越大,相对应的重传时间越长。如首次5分钟后重传,第二次10分钟后重传,第三次22多分钟后重传等。

步骤212,分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

步骤214,发送所述回传信息。

在上传完结果信息后,可以获取各结果信息对应的传输结果,例如结果信息对应的存储地址如url地址等,从而便于后续获取结果信息。因此管理服务器还可分配一个线程,该线程用于传输回传信息,将该线程作为回收线程,因此该线程可回收各结果信息对应的上传结果,然后对各结果信息对应的上传结果进行整合,生成相应的回传结果,例如按照类别等分类记录得到数据表等。然后发送该回传结果给测试应用程序的应用,并在测试平台中存储该回传结果。

其中,所述回传信息包括:上传失败的回传信息,所述的依据返回的上传结果生成回传信息,包括:接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。即可以接收到传输成功和/或传输失败的上传结果,对于传输失败的上传结果,可以分析上传失败的原因,例如上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。如上传结果中显示嫌少图片,则上传失败的原因为缺少图像数据;上传结果中显示嫌少日志,则上传失败的原因为缺少日志数据;上传结果中传输失败、时间过长等,则上传失败的原因为缺少线程故障。然后可依据该上传失败的原因生成回传信息。

步骤216,分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

本发明实施例中,管理服务器可以分配一个线程,该线程可称为清理线程,清理线程用于清理服务器,即采用清理线程可清理服务器的垃圾文件,该垃圾文件包括线程处理数据遗留的垃圾文件,其中,垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。结果信息上传成功后存储到了存储服务器中,因此管理服务器中已上传的结果信息可以通过清理线程清除。任务执行结果中各结果信息均上传到存储服务器后,可以采用清理线程删除服务器中已传输完毕的任务执行结果。分配线程、处理线程、回收线程执行完处理操作后,也可能遗留一些缓存数据,可以采用清理线程清除。

从而服务器中通过分配线程给获取各种类型的结果信息,并将结果信息分配给各个处理线程,由各个处理线程对结果信息进行上传,上传后的上传结果可通过回收线程进行回收,得到相应的回传信息。从而一个任务执行结果可通过多个线程并行处理,有效的提高了服务器的处理效率。

服务器可以通过上述各线程并行处理一个或多个任务执行结果,从而在服务器下设多个测试设备的场景下,能够进一步提高处理效率,提供测试的成功率。

服务器中还可设置清理线程,来清理任务执行结果传输过程中的垃圾文件,从而减少服务器的无效数据的存储,提供服务器的资源利用率和性能。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

本发明实施例还提供了一种测试结果传输装置,应用于测试平台的服务器中,所述测试平台还包括测试设备。其中,该测试结果传输装置可应用于测试平台的管理服务器,该测试平台的服务器还包括存储服务器等。

参照图3,示出了根据本发明一个实施例的一种测试结果传输装置实施例的结构框图,具体可以包括如下模块:

分配模块302,用于接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果。

传输模块304,用于采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传。

回传模块306,用于依据返回的上传结果生成回传信息,发送所述回传信息。

综上,测试平台包括服务器和多于一台测试设备,测试设备执行测试任务得到任务执行结果,服务器在接收到任务执行结果后后,可所述任务执行结果中获取各类型的结果信息,然后分类型确定线程,采用并行线程分类型传输所述结果信息,可以有效的提高结果信息的传输效率,再返回的上传结果生成回传信息,发送所述回传信息,从而能够快速的完成任务执行结果的上传。

若某些结果信息上传失败,可以先传输其他结果信息,后续再重新传输失败的结果信息,从而一个结果信息的失败不影响其他结果信息的传输。通过并行线程传输结果信息减少传输时间的同时,也可以减少由于传输时间过长导致的测试失败,提高测试的成功率。

参照图4,示出了根据本发明另一个实施例的一种测试结果传输装置实施例的结构框图,具体可以包括如下模块:

分配模块302,用于接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果。

传输模块304,用于采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传。

回传模块306,用于依据返回的上传结果生成回传信息,发送所述回传信息。

清理模块308,用于分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

重传模块310,用于在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。

其中,所述类型包括:日志类型和图像类型;所述分配模块302,用于分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

所述传输模块304,包括:线程数确定子模块3042和并行传输子模块3044,其中:

线程数确定子模块3042,用于确定处理各类型的结果信息对应线程的线程数。

并行传输子模块3044,用于依据所述线程数给各线程分配结果信息,采用各线程并行上传分配的结果信息。

所述线程数确定子模块3042,用于依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

所述回传模块306,用于分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

其中,所述随机数依据所述结果信息的上传失败次数递增。

所述回传信息包括:上传失败的回传信息,所述回传模块306,用于接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。所述上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。

从而服务器中通过分配线程给获取各种类型的结果信息,并将结果信息分配给各个处理线程,由各个处理线程对结果信息进行上传,上传后的上传结果可通过回收线程进行回收,得到相应的回传信息。从而一个任务执行结果可通过多个线程并行处理,有效的提高了服务器的处理效率。

服务器可以通过上述各线程并行处理一个或多个任务执行结果,从而在服务器下设多个测试设备的场景下,能够进一步提高处理效率,提供测试的成功率。

服务器中还可设置清理线程,来清理任务执行结果传输过程中的垃圾文件,从而减少服务器的无效数据的存储,提供服务器的资源利用率和性能。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的电子设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。电子设备可包括服务器(集群)、终端设备等。

本发明实施例提供了一种服务器,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如本发明实施例中一个或多个所述的测试结果传输方法。

本发明实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得服务器执行如本发明实施例中一个或多个所述的测试结果传输方法。

本发明实施例一个示例中提供了一种服务器,例如,图5示出了可以实现根据本发明的服务器,例如管理服务器、存储服务器、应用服务器、云控服务、服务器集群等。该服务器传统上包括处理器510和以存储器520形式的计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器520具有用于执行上述方法中的任何方法步骤的程序代码531的存储空间530。例如,用于程序代码的存储空间530可以包括分别用于实现上面的方法中的各种步骤的各个程序代码531。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图6所述的便携式或者固定存储单元。该存储单元可以具有与图5的服务器中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码531’,即可以由例如诸如510之类的处理器读取的代码,这些代码当由服务器运行时,导致该服务器执行上面所描述的方法中的各个步骤。

本发明实施例一个示例中还提供的终端设备,如图7所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售设备)、车载电脑等任意设备。

图7示出的是与本发明实施例提供的终端设备相关的部分结构的框图。参考图7,终端设备包括:射频(radiofrequency,rf)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wirelessfidelity,wifi)模块770、处理器780、电源790以及摄像头7110等部件。本领域技术人员可以理解,图7中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图7对终端设备的各个构成部件进行具体的介绍:

rf电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,rf电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元730可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元740可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现终端设备的输入和输出功能。

终端设备还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路760、扬声器761,传声器762可提供用户与终端设备之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经rf电路710以发送给比如另一终端设备,或者将音频数据输出至存储器720以便进一步处理。

wifi属于短距离无线传输技术,终端设备通过wifi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块770,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器780是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。

终端设备还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

摄像头7110可以执行拍照的功能。

尽管未示出,终端设备还可以包括蓝牙模块等,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明实施例公开了a1、一种测试结果传输方法,应用于测试平台,所述测试平台包括服务器和多于一台测试设备,所述的方法包括:接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果;采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传;依据返回的上传结果生成回传信息,发送所述回传信息。

a2、如a1所述的方法,其中,所述类型包括:日志类型和图像类型;所述从任务执行结果中获取各类型的结果信息,包括:分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

a3、如a2所述的方法,其中,所述采用并行线程分类型传输所述结果信息,包括:确定处理各类型的结果信息对应线程的线程数;依据所述线程数给各线程分配结果信息,采用各线程并行上传分配的结果信息。

a4、如a3所述的方法,其中,所述确定处理各类型的结果信息对应线程的线程数,包括:依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

a5、如a1所述的方法,其中,所述依据返回的上传结果生成回传信息,包括:分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

a6、如a1所述的方法,其中,还包括:分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

a7、如a1所述的方法,其中,还包括:在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。

a8、如a1所述的方法,其中,所述随机数依据所述结果信息的上传失败次数递增。

a9、如a1所述的方法,其中,所述回传信息包括:上传失败的回传信息,所述的依据返回的上传结果生成回传信息,包括:接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。

a10、如a1所述的方法,其中,所述上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。

本发明实施例还公开了b11、一种测试结果传输装置,应用于测试平台的服务器中,所述测试平台还包括测试设备,所述的装置包括:分配模块,用于接收测试设备发送的任务执行结果,并从所述任务执行结果中获取各类型的结果信息,所述任务执行结果所述测试设备执行测试任务的结果;传输模块,用于采用并行线程分类型传输所述结果信息,其中,每种类型的结果信息由至少一个线程上传;回传模块,用于依据返回的上传结果生成回传信息,发送所述回传信息。

b12、如b11所述的装置,其中,所述类型包括:日志类型和图像类型;所述分配模块,用于分配一个线程对所述任务执行结果进行处理,获取对应的图片结果信息和日志结果信息。

b13、如b12所述的装置,其中,所述传输模块,包括:线程数确定子模块,用于确定处理各类型的结果信息对应线程的线程数;并行传输子模块,用于依据所述线程数给各线程分配结果信息,采用各线程并行上传分配的结果信息。

b14、如b13所述的装置,其中,所述线程数确定子模块,用于依据图片结果信息的图片数量和第一数据量,以及日志结果信息的日志数量和第二数据量,确定所述图片结果信息对应线程的线程数,和所述日志结果信息对应线程的线程数。

b15、如b11所述的装置,其中,所述回传模块,用于分配一个线程回收各结果信息对应的上传结果,整合所述各结果信息对应的上传结果生成回传信息。

b16、如b11所述的装置,其中,还包括:清理模块,用于分配一个线程清理垃圾文件,所述垃圾文件包括以下至少一种:已上传的结果信息、已传输完毕的任务执行结果、线程缓存数据。

b17、如b11所述的装置,其中,还包括:重传模块,用于在线程上传所述结果信息失败后,依据获取的随机数配置重传时间;在达到重传时间后,重新上传所述结果信息。

b18、如b11所述的装置,其中,所述随机数依据所述结果信息的上传失败次数递增。

b19、如b11所述的装置,其中,所述回传信息包括:上传失败的回传信息,所述回传模块,用于接收返回的上传结果,所述上传结果包括:传输成功和/或传输失败;依据所述上传结果分析任务执行结果对应上传失败的原因,依据所述上传失败的原因生成回传信息。

b20、如b11所述的装置,其中,所述上传失败的原因包括以下至少一种:缺少图像数据、缺少日志数据、线程故障。

本发明实施例还公开了c21、一种服务器,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述服务器执行如a1-a10中一个或多个所述的测试结果传输方法。

本发明实施例还公开了d22、一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得服务器执行如a1-a10中一个或多个所述的测试结果传输方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1