发布信息

Spark任务的测试方法、装置、设备、介质与流程

作者:admin      2022-07-30 20:40:45     845



计算;推算;计数设备的制造及其应用技术spark任务的测试方法、装置、设备、介质技术领域1.本发明属于大数据领域,尤其涉及一种spark任务的测试方法、装置、设备、介质。背景技术:2.spark是一种用于大规模数据处理的计算引擎,在应用spark的大数据业务系统中,通过将大量数据集计算的spark任务分配到多台设备上执行,能够实现大数据的高效任务处理。由于spark任务的程序规模较大,程序集或者函数等功能对象之间的调用十分常见,一旦出现功能对象的调用错误,会导致数据冲突或者结果数据被覆写,影响spark任务的正常运行。为了避免功能对象的调用错误,目前的方法是在spark任务的测试过程中由测试人员进行错误数据的回溯,并将错误根因反馈给开发人员进行维护,工作效率非常低下。技术实现要素:3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。4.本发明实施例提供了一种spark任务的测试方法、装置、设备、介质,能够在测试之前对功能对象的调用进行鉴权,自动发现功能对象的错误调用,提高spark任务的测试效率。5.第一方面,本发明实施例提供了一种spark任务的测试方法,包括:6.获取待测试的目标spark任务,所述目标spark任务包括多个功能对象,所述功能对象预设有校验参数;7.将记载有调用语句的功能对象确定为待鉴权功能对象,根据所述调用语句确定所述待鉴权功能对象的调用功能对象;8.根据所述调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;9.根据所述目标鉴权信息确定所述待鉴权功能对象的调用鉴权结果;10.当所述调用鉴权结果表征所述待鉴权功能对象的鉴权通过,将所述待鉴权功能对象为可测试功能对象;11.当全部待鉴权功能对象被确定为所述可测试功能对象,执行所述目标spark任务的功能测试,得到所述目标spark任务的目标测试结果。12.在一些实施例中,所述目标鉴权信息包括spark标识和校验标识,所述根据所述目标鉴权信息确定所述待鉴权功能对象的调用鉴权结果,包括:13.确定所述目标spark任务的任务标识;14.当所述任务标识与所述spark标识相匹配,且所述校验标识表征校验通过,确定所述待鉴权功能对象的调用鉴权结果为鉴权通过。15.在一些实施例中,所述目标鉴权信息还包括目标用户信息,在所述获取待测试的目标spark任务之前,所述方法还包括:16.获取针对所述功能对象的更新信息,所述更新信息携带有操作用户信息和对象修改信息;17.当所述操作用户信息与所述目标用户信息相匹配,且所对应的所述校验标识表征校验通过,根据所述对象修改信息更新所述功能对象。18.在一些实施例中,所述目标spark任务包括多个任务文件,每个所述任务文件记载有至少一个所述功能对象所对应的程序集,所述执行所述目标spark任务的功能测试,得到所述目标spark任务的目标测试结果,包括:19.将全部的所述任务文件保存至目标存储磁盘;20.对所述任务文件进行解析和功能测试,得到功能测试数据和功能测试结果;21.将每个所述任务文件所对应的所述功能测试数据和所述功能测试结果保存至所述目标存储磁盘。22.在一些实施例中,所述将全部的所述任务文件保存至目标存储磁盘,包括:23.确定每个所述任务文件的文件格式;24.当所述任务文件的文件格式属于预设格式,将所述任务文件保存至所述目标存储磁盘;25.或者,26.当所述任务文件的文件格式不属于所述预设格式,将所述任务文件的文件格式转换成所述预设格式,并保存至所述目标存储磁盘;27.其中,所述预设格式为spark程序支持解析的文件格式。28.在一些实施例中,所述执行所述目标spark任务的功能测试,包括:29.获取与所述目标spark任务所对应的目标测试脚本,确定所述目标测试脚本的资源需求;30.将所述目标测试脚本输入至脚本运行队列,确定所述脚本运行队列的可用资源数;31.当所述可用资源数满足所述资源需求,根据所述资源需求为所述目标测试脚本分配目标测试资源,或者,当所述可用资源数不满足所述资源需求,根据所述可用资源数分配所述目标测试资源;32.根据所述目标测试资源运行所述目标测试脚本。33.在一些实施例中,在当所述可用资源数满足所述资源需求,根据所述资源需求为所述目标测试脚本分配目标测试资源之后,所述方法还包括:34.确定所述脚本运行队列的测试资源数和生产资源数,所述测试资源数为所述脚本运行队列中用于运行功能测试的资源数,所述生产资源数为所述脚本运行队列中用于系统运行的资源数;35.将所述测试资源数和所述生产资源数的比值确定为目标占比;36.根据预设比例降低所述目标占比,以使所述脚本运行队列增加所述生产资源数。37.第二方面,本发明实施例提供了一种spark任务的测试装置,包括:38.任务获取单元,用于获取待测试的目标spark任务,所述目标spark任务包括多个功能对象,所述功能对象预设有校验参数;39.对象确定单元,用于将记载有调用语句的功能对象确定为待鉴权功能对象,根据所述调用语句确定所述待鉴权功能对象的调用功能对象;40.鉴权信息获取单元,用于根据所述调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;41.调用鉴权单元,用于根据所述目标鉴权信息确定所述待鉴权功能对象的调用鉴权结果;42.对象鉴权单元,用于当所述调用鉴权结果表征所述待鉴权功能对象的鉴权通过,将所述待鉴权功能对象为可测试功能对象;43.测试单元,用于当全部待鉴权功能对象被确定为所述可测试功能对象,执行所述目标spark任务的功能测试,得到所述目标spark任务的目标测试结果。44.第三方面,本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的spark任务的测试方法。45.第四方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序用于执行如第一方面所述的spark任务的测试方法。46.本发明实施例包括:获取待测试的目标spark任务,所述目标spark任务包括多个功能对象,所述功能对象预设有校验参数;将记载有调用语句的功能对象确定为待鉴权功能对象,根据所述调用语句确定所述待鉴权功能对象的调用功能对象;根据所述调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;根据所述目标鉴权信息确定所述待鉴权功能对象的调用鉴权结果;当所述调用鉴权结果表征所述待鉴权功能对象的鉴权通过,将所述待鉴权功能对象为可测试功能对象;当全部待鉴权功能对象被确定为所述可测试功能对象,执行所述目标spark任务的功能测试,得到所述目标spark任务的目标测试结果。根据本实施例的技术方案,能够根据鉴权信息表记载的目标鉴权信息,在测试目标spark任务之前对功能对象的调用权限进行鉴权,在鉴权通过后执行测试,有效避免了调用错误导致的测试失败,提高了测试效率。47.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明48.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。49.图1是本发明一个实施例提供的spark任务的测试方法的流程图;50.图2是本发明另一个实施例提供的进行调用鉴权的流程图;51.图3是本发明另一个实施例提供的修改功能对象的流程图;52.图4是本发明另一个实施例提供的保存测试数据的流程图;53.图5是本发明另一个实施例提供的进行文件格式转换的流程图;54.图6是本发明另一个实施例提供的分配测试资源的流程图;55.图7是本发明另一个实施例提供的调整系统资源的流程图;56.图8是本发明另一个实施例提供的spark任务的测试装置的结构图;57.图9是本发明另一个实施例提供的电子设备的装置图。具体实施方式58.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。59.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。60.本发明提供了一种spark任务的测试方法、装置、设备、介质,方法包括:获取待测试的目标spark任务,所述目标spark任务包括多个功能对象,所述功能对象预设有校验参数;将记载有调用语句的功能对象确定为待鉴权功能对象,根据所述调用语句确定所述待鉴权功能对象的调用功能对象;根据所述调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;根据所述目标鉴权信息确定所述待鉴权功能对象的调用鉴权结果;当所述调用鉴权结果表征所述待鉴权功能对象的鉴权通过,将所述待鉴权功能对象为可测试功能对象;当全部待鉴权功能对象被确定为所述可测试功能对象,执行所述目标spark任务的功能测试,得到所述目标spark任务的目标测试结果。根据本实施例的技术方案,能够根据鉴权信息表记载的目标鉴权信息,在测试目标spark任务之前对功能对象的调用权限进行鉴权,在鉴权通过后执行测试,有效避免了调用错误导致的测试失败,提高了测试效率。61.本技术实施例可以基于人工智能技术对相关的数据进行编译、获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用装置。62.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互装置、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。63.本技术实施例中的spark是专为大规模数据处理而设计的快速通用的计算引擎,在使用spark执行大数据处理的过程中,数据的计算中间结果由mapreduce产生,存储于spark各个work节点的rdd中。mapreduce是面向大数据并行处理的计算模型,通常用于大规模数据集的并行运算。rdd叫做弹性分布式数据集,是spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。具体的,待监控数据是由用户(开发人员)选取的,系统在获取到用户输入的数据选取指令后,从相应的rdd中提取出所述数据选取指令指向的待监控数据。spark拥有hadoop mapreduce所具有的优点;但不同于mapreduce的是——job中间输出结果可以保存在内存中,从而不再需要读写hdfs,因此spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。spark是一种与hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使spark在某些工作负载方面表现得更加优越,换句话说,spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。64.需要说明的是,本发明实施例的数据可以保存在服务器中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。65.如图1所示,图1是本发明一个实施例提供的一种spark任务的测试方法的流程图,该spark任务的测试方法包括但不限于有以下步骤:66.步骤s110,获取待测试的目标spark任务,目标spark任务包括多个功能对象,功能对象预设有校验参数;67.步骤s120,将记载有调用语句的功能对象确定为待鉴权功能对象,根据调用语句确定待鉴权功能对象的调用功能对象;68.步骤s130,根据调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;69.步骤s140,根据目标鉴权信息确定待鉴权功能对象的调用鉴权结果;70.步骤s150,当调用鉴权结果表征待鉴权功能对象的鉴权通过,将待鉴权功能对象为可测试功能对象;71.步骤s160,当全部待鉴权功能对象被确定为可测试功能对象,执行目标spark任务的功能测试,得到目标spark任务的目标测试结果。72.需要说明的是,spark任务的程序集可以保存在数据库中,以便于多个开发人员共同进行开发,提高开发效率,与此同时,数据库可以同时保存有多个不同的spark任务,在需要进行测试时针对每个spark任务独立执行一次本实施例的技术方案即可,在此对spark任务的数量不作过多限定。73.需要说明的是,spark任务的功能对象可以是程序集或者函数,能够实现完整的功能即可。可以理解的是,为了便于鉴权,可以在每个程序集或者函数中设置校验参数,校验参数在程序集或者函数中并不起到实际的运行功能,而是用于从鉴权信息表中进行目标鉴权信息的匹配,校验参数可以采用程序集名称、spark任务的编号等。校验参数可以是与功能对象唯一对应,也可以出于实际需求,为多个具有相同调用权限和适用范围的功能对象配置相同的校验参数,本实施例对校验参数与功能对象的对应关系不做过多限定,能够通过校验参数从鉴权信息表获取到功能对象的目标鉴权信息即可。74.需要说明的是,鉴权信息表可以是一个贯穿全局的索引文件,例如spark程序中常见的全局map文件,该map文件中记载有保存在同一个数据库的所有的功能对象的目标鉴权信息,在spark程序开发过程中,当检测到生成新的程序集或者函数,则可以将其校验参数保存到map文件中,并在map文件针对该校验参数进行鉴权信息的配置,例如开发人员开发的一个功能对象不能被其他功能对象调用,则可以在map文件将该功能对象所对应的校验参数所对应的目标鉴权信息设置为不可调用,例如可以设置常见的flag标识,以yes表征该功能对象能够被调用,no标识该功能对象不可被调用,目标鉴权信息的具体形式本实施例不多作限定,能够表征功能对象被调用的权限即可。75.需要说明的是,spark任务的功能对象通常较多,而并非全部的功能对象都存在调用关系,对于不存在调用关系的功能对象,由于并不涉及调用是否出错的问题,因此可以省去本实施例所述的鉴权操作,从而提高功能对象的调用鉴权的效率。基于此,可以在获取到目标spark任务之后,将记载有调用语句的功能对象中确定为待鉴权功能对象,而调用语句通常记载有所需要调用的功能对象的信息,因此可以根据调用语句确定待鉴权功能对象的调用功能对象,并针对调用功能对象的调用权限进行鉴权,确定调用鉴权结果。例如功能对象a调用功能对象b,则功能对象a为待鉴权功能对象,功能对象b为调用鉴权对象,根据功能对象b的校验参数从鉴权信息表获取目标鉴权信息,当目标鉴权信息中记载有针对功能对象a的调用权限,例如记载有针对功能对象a的flag标识为yes,则可以确定功能对象a的调用鉴权结果为鉴权通过,功能对象b可以被功能对象a调用,对功能对象a进行功能测试不会出现针对功能对象b的调用错误;若记载有针对功能对象a的flag标识为no,则可以确定功能对象a的调用鉴权结果为鉴权不通过,若针对功能对象a进行测试会出现调用错误,由于测试并没有开始,可以通过错误提示等方式告知开发人员进行及时维护,从而实现自动发现调用错误,提高目标spark任务程序集自检的自动化程度。76.需要说明的是,在针对每一个功能对象都完成调用鉴权,且调用鉴权结果全部为鉴权通过之后,则可以确定目标spark任务的测试过程中不会出现由于调用权限导致的错误,能够有效提高测试过程错误排查的效率,从而提高测试效率。具体的功能测试的过程为本领域技术人员熟知的技术,本实施例对功能测试的具体过程不做过多赘述,能够得到目标spark任务的目标测试结果,且目标测试结果不存在调用权限导致的错误即可。77.另外,在一实施例中,目标鉴权信息包括spark标识和校验标识,参照图2,图1所示的步骤s150还包括但不限于有以下步骤:78.步骤s210,确定目标spark任务的任务标识;79.步骤s220,当任务标识与spark标识相匹配,且校验标识表征校验通过,确定待鉴权功能对象的调用鉴权结果为鉴权通过。80.需要说明的是,目标鉴权信息可以包括spark标识和校验标识,spark标识可以是spark任务的名称或者编号,用于区分不同的spark任务,对于常见的功能对象,很可能以相同的名称用于不同的spark任务,而为了避免数据结果之间调用出错,例如任务a调用了任务b的数据,本实施例在目标鉴权信息中设置spark标识,避免不同spark任务之间的数据调用;校验标识可以是上述实施例所述的flag标识,用于表征该功能对象是否能够被调用。通过校验标识和spark标识的设置,能够有效避免功能对象的错误调用,以及避免功能对象进行错误的数据被覆写,有效提高测试和程序开发的效率,减少开发的时间成本。81.值得注意的是,校验标识并非固定不变的标识,而是可以根据实际需求调整,例如在后续的扩展开发过程中,由于功能调整使得功能对象之间的调用关系发生变化,也可以在鉴权标示表中对校验标识进行调整,从而实现调用权限的更改,能够有效提高spark任务的调用灵活性。82.另外,在一实施例中,目标鉴权信息还包括目标用户信息,参照图3,在执行图1所示的步骤s110之前,还包括但不限于有以下步骤:83.步骤s310,获取针对功能对象的更新信息,更新信息携带有操作用户信息和对象修改信息;84.步骤s320,当操作用户信息与目标用户信息相匹配,且所对应的校验标识表征校验通过,根据对象修改信息更新功能对象。85.需要说明的是,功能对象的鉴权不仅可以在测试阶段进行,也可以在开发过程中执行,由于spark任务通常由多人共同开发,很可能由于开发人员的误操作导致功能对象的程序集被覆写,导致功能对象的功能出错,为了避免这种情况,可以在目标鉴权信息中增加用户信息,在开发人员编写好更新信息后,通过开发人员登录的操作用户信息的匹配确定该开发人员是否具备修改权限,有效提高功能对象的代码的安全性。86.需要说明的是,结合图2所述实施例的描述,目标鉴权信息可以包括目标用户信息、spark标识和校验标识,因此,在鉴权信息表中,每一条目标鉴权信息的形式可以参考下表,当然,也可以根据实际需求增加或者减少目标鉴权信息的内容,在此不作过多限定。87.目标用户信息spark标识flag用户aspark任务ayes88.表1:鉴权信息表示例89.另外,在一实施例中,目标spark任务包括多个任务文件,每个任务文件记载有至少一个功能对象所对应的程序集,参照图4,图1所示的步骤s160还包括但不限于有以下步骤:90.步骤s410,将全部的任务文件保存至目标存储磁盘;91.步骤s420,对任务文件进行解析和功能测试,得到功能测试数据和功能测试结果;92.步骤s430,将每个任务文件所对应的功能测试数据和功能测试结果保存至目标存储磁盘。93.需要说明的是,目标spark任务的运行和测试过程中,会有大部分的数据保存在内存中,而内存为可擦写的存储介质,很容易在执行完成之后删除相应的数据,而本实施例将任务文件、功能测试数据和功能测试结果保存在目标存储磁盘,能够方便后期对程序的中间数据进行查看、分析、校验,这对于对精度要求高且场景复杂的大数据场景来说将会大大减少对异常数据的追溯所花费的时间和精力,提高开发和测试的效率。94.另外,在一实施例中,参照图5,图4所示的步骤s410还包括但不限于有以下步骤:95.步骤s510,确定每个任务文件的文件格式;96.步骤s520,当任务文件的文件格式属于预设格式,将任务文件保存至目标存储磁盘;97.或者,98.步骤s530,当任务文件的文件格式不属于预设格式,将任务文件的文件格式转换成预设格式,并保存至目标存储磁盘;99.其中,预设格式为spark程序支持解析的文件格式。100.需要说明的是,spark程序可以支持的文件格式是有限的,例如常见的text,csv,json,parquet格式,但是在开发过程中很难确定所有的任务文件都符合上述格式,例如通常会用xml存储的sql,这些格式的任务文件的数据层级较为复杂,在数据读取、数据解析和数据结构化的过程中很容易出现错误,导致测试和运行出现错误,基于此,在获取到目标spark任务之后,可以针对每个任务文件进行文件格式的校验,对于不符合预设格式的任务文件进行文件格式转换,使得转换后得到的任务文件能够被spark程序所直接解析和识别,从而能够保存到目标存储磁盘,提高使用的便利性。101.需要说明的是,通过文件格式的转换,使得目标spark任务的数据集得到扩展,提高开发人员编写程序集的便利性,文件格式的转换为本领域技术人员熟知的技术,在此不多作赘述。102.另外,在一实施例中,参照图6,图1所示的步骤s160还包括但不限于有以下步骤:103.步骤s610,获取与目标spark任务所对应的目标测试脚本,确定目标测试脚本的资源需求;104.步骤s620,将目标测试脚本输入至脚本运行队列,确定脚本运行队列的可用资源数;105.步骤s630,当可用资源数满足资源需求,根据资源需求为目标测试脚本分配目标测试资源,或者,当可用资源数不满足资源需求,根据可用资源数分配目标测试资源;106.步骤s640,根据目标测试资源运行目标测试脚本。107.需要说明的是,目标spark任务的测试是通过脚本进行,将目标测试脚本输入至脚本运行队列后,通过在队列执行脚本实现自动测试,因此可以先确定脚本运行队列的可用资源数,根据可用资源数进行测试资源的分配,确保测试能够顺利进行。108.值得注意的是,在确定目标测试资源后,可以进行目标测试脚本的自动修改并上传到测试集群进行脚本替换,从而确保资源分配的准确性。109.值得注意的是,在有多个需要测试的spark任务的情况下,可以针对每个任务单独设置资源数,也可以统一分配测试资源,根据实际需求调整即可。110.另外,在一实施例中,参照图7,在执行完图6所示的步骤s630之后,还包括但不限于有以下步骤:111.步骤s710,确定脚本运行队列的测试资源数和生产资源数,测试资源数为脚本运行队列中用于运行功能测试的资源数,生产资源数为脚本运行队列中用于系统运行的资源数;112.步骤s720,将测试资源数和生产资源数的比值确定为目标占比;113.步骤s730,根据预设比例降低目标占比,以使脚本运行队列增加生产资源数。114.需要说明的是,大数据任务所需的任务资源往往根据生产环境进行配置,且往往没有针对测试环境专门进行配置,待测试的目标spark任务需要和正在运行的spark任务共享一个队列的资源,通常会优先分配资源给正在运行的spark任务,即优先分配生产资源,在这种情况下,可分配给测试的资源数有限,若预先设定好生产资源数和测试资源数的目标占比,在生产资源数较少的情况下,会导致可用资源的浪费,很可能出现一个测试任务长时间占据一个队列大部分甚至全部测试资源,造成其余测试任务长期停留在等待状态。然而在测试环境中,有相当多的小的任务其实并不需要太多资源,也不会运行太长时间,比如一个大型spark任务可能会阻塞很多的sqoop导数任务,或者说某个任务只是开发或者测试人员运行来进行测试的,造成整个测试集群资源紧张,整个集群任务提交被阻塞的情况;因此,本实施例在确定目标占比后,根据可用资源的情况进行目标占比的调整,当队列剩余资源足够的情况下,增加生产资源数,使得目标占比等比缩小,让更多的资源分配给正常运行的spark任务,从而实现系统资源的动态调整,使得资源分配更加合理。115.另外,参照图8,本发明实施例提供了一种spark任务的测试装置,该spark任务的测试装置800包括但不限于有以下装置:116.任务获取单元810,用于获取待测试的目标spark任务,目标spark任务包括多个功能对象,功能对象预设有校验参数;117.对象确定单元820,用于将记载有调用语句的功能对象确定为待鉴权功能对象,根据调用语句确定待鉴权功能对象的调用功能对象;118.鉴权信息获取单元830,用于根据调用功能对象的校验参数,从预设的鉴权信息表中获取目标鉴权信息;119.调用鉴权单元840,用于根据目标鉴权信息确定待鉴权功能对象的调用鉴权结果;120.对象鉴权单元850,用于当调用鉴权结果表征待鉴权功能对象的鉴权通过,将待鉴权功能对象为可测试功能对象;121.测试单元860,用于当全部待鉴权功能对象被确定为可测试功能对象,执行目标spark任务的功能测试,得到目标spark任务的目标测试结果。122.另外,参照图9,本发明的一个实施例还提供了一种电子设备,该电子设备900包括:存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序。123.处理器920和存储器910可以通过总线或者其他方式连接。124.实现上述实施例的spark任务的测试方法所需的非暂态软件程序以及指令存储在存储器910中,当被处理器920执行时,执行上述实施例中的spark任务的测试方法,例如,执行以上描述的图1中的方法步骤s110至步骤s160、图2中的方法步骤s210至步骤s220、图3中的方法步骤s310至步骤s320、图4中的方法步骤s410至步骤s430、图5中的方法步骤s510至步骤s530、图6中的方法步骤s610至步骤s640、图7中的方法步骤s710至步骤s730。125.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。126.此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被一个处理器或控制器执行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的spark任务的测试方法,例如,执行以上描述的图1中的方法步骤s110至步骤s160、图2中的方法步骤s210至步骤s220、图3中的方法步骤s310至步骤s320、图4中的方法步骤s410至步骤s430、图5中的方法步骤s510至步骤s530、图6中的方法步骤s610至步骤s640、图7中的方法步骤s710至步骤s730。本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性存储介质)和通信存储介质(或暂时性存储介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除存储介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的存储介质。此外,本领域普通技术人员公知的是,通信存储介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送存储介质。127.本实施例可用于众多通用或专用的计算机装置环境或配置中。例如:个人计算机、服务器计算机、手持电子设备或便携式电子设备、平板型电子设备、多处理器装置、基于微处理器的装置、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何装置或电子设备的分布式计算环境等等。本技术可以在由计算机执行的计算机程序的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理电子设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储电子设备在内的本地和远程计算机存储介质中。128.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。129.应当注意,尽管在上文详细描述中提及了用于动作执行的电子设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。130.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算电子设备(可以是个人计算机、服务器、触控终端、或者网络电子设备等)执行根据本技术实施方式的方法。131.本实施例的电子设备可以包括:射频(radio frequency,rf)电路、存储器、输入单元、显示单元、传感器、音频电路、无线保真(wireless fidelity,wifi)模块、处理器、以及电源等部件。rf电路可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器处理;另外,将设计上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noise amplifier,lna)、双工器等。此外,rf电路还可以通过无线通信与网络和其他装置通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global system of mobile communication,gsm)、通用分组无线服务(general packet radio service,gprs)、码分多址(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma)、长期演进(long term evolution,lte)、电子邮件、短消息服务(short messaging service,sms)等。存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入单元可用于接收输入的数字或字符信息,以及产生与电子设备的设置以及功能控制有关的键信号输入。具体地,输入单元可包括触控面板以及其他输入装置。触控面板,也称为触摸屏,可收集在其上或附近的触摸操作(比如使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器,并能接收处理器发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类别实现触控面板。除了触控面板,输入单元还可以包括其他输入装置。具体地,其他输入装置可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元可用于显示输入的信息或提供的信息以及电子设备的各种菜单。显示单元可包括显示面板,可选的,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器以确定触摸事件的类别,随后处理器根据触摸事件的类别在显示面板上提供相应的视觉输出。触控面板与显示面板是作为两个独立的部件来实现电子设备的输入和输入功能,但是在某些实施例中,可以将触控面板与显示面板集成而实现电子设备的输入和输出功能。电子设备还可包括至少一种传感器,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在电子设备移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。音频电路、扬声器、传声器可提供音频接口。音频电路可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路接收后转换为音频数据,再将音频数据输出处理器处理后,经rf电路以发送给比如另一电子设备,或者将音频数据输出至存储器以便进一步处理。132.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。133.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。134.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部