一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理测试任务的方法和系统与流程

2022-06-02 15:44:42 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体而言,涉及一种处理测试任务的方法和系统。


背景技术:

2.在求解器优化的过程中,需要在每次算法改进后针对大量的模型进行求解,以测试本次算法改进是否符合预期。相关技术中测试的执行方法通常为单机串行。然而,这种方法只能测试少量模型,当测试模型数量较多时,对应的测试时间较长,求解器研发和测试的效率较低。
3.因此,如何优化测试任务的处理方法以提高测试效率,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种处理测试任务的方法和系统,以至少解决相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
5.根据本发明实施例的一个方面,提供了一种处理测试任务的方法,包括:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
6.根据本发明实施例的另一方面,还提供了一种处理测试任务的方法,包括:接收来自于客户端的云计算测试任务请求,其中,云计算测试任务请求中携带的信息包括:云计算测试任务指令;对云计算测试任务指令进行解析,生成待执行的多个分布式云计算任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式云计算任务,得到云计算测试结果。
7.根据本发明实施例的另一方面,还提供了一种处理测试任务的方法,包括:接收来自于客户端的电力能源测试任务请求,其中,电力能源测试任务请求中携带的信息包括:电力能源测试任务指令;对电力能源测试任务指令进行解析,生成待执行的多个分布式电力能源任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式电力能源任务,得到电力能源测试结果。
8.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行任意一项上述的处理测试任务的方法。
9.根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行任意一项上述的处理测试任务的方法。
10.根据本发明实施例的另一方面,还提供了一种处理测试任务的系统,包括:处理器;以及存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;
对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
11.在本发明实施例中,首先接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令,通过对测试任务指令进行解析,生成待执行的多个分布式任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务的方法,得到测试结果。
12.容易注意到的是,通过本技术实施例,基于客户端发出的测试任务请求进行解析,进而通过调度操作执行测试并获得测试结果,达到了通过解析操作和调度操作在优化求解器测试中实现多机并行的目的,从而实现了减少优化求解器测试时间、提高优化求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
附图说明
13.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
14.图1示出了一种用于实现处理测试任务的方法的计算机终端(或移动设备)的硬件结构框图;
15.图2是根据本发明实施例的一种处理测试任务的方法的流程图;
16.图3是根据本发明实施例的一种可选的求解器并行测试的发起过程的示意图;
17.图4是根据本发明实施例的一种可选的节点执行分布式任务的过程的示意图;
18.图5是根据本发明实施例的另一种处理测试任务的方法的流程图;
19.图6是根据本发明实施例的另一种处理测试任务的方法的流程图;
20.图7是根据本发明实施例的一种处理测试任务的装置的结构示意图;
21.图8是根据本发明实施例的另一种处理测试任务的装置的结构示意图;
22.图9是根据本发明实施例的另一种处理测试任务的装置的结构示意图;
23.图10是根据本发明实施例的另一种处理测试任务的装置的结构示意图;
24.图11是根据本发明实施例的另一种处理测试任务的装置的结构示意图;
25.图12是根据本发明实施例的另一种计算机终端的结构框图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
29.并行计算:指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。
30.优化求解器:指求解优化问题的软件。例如:mindopt、gurobi、cplex等。
31.关键值(key value,简称kv)内存存储:指一种内存数据存储形式,可以用作数据库,缓存或者消息通道等。例如redis。
32.关系型数据库:指采用关系模型组织数据的数据库。关系型数据库以行和列的形式存储数据以便于用户理解,关系型数据库中的一系列行和列组成了表,一组表组成了数据库。例如mysql。
33.对象文件存储:指一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。例如对象存储服务(object storage service,简称oss)。
34.容器技术:是指对应用程序及其整个运行环境(包括全部所需文件)进行打包或隔离的技术。容器是容器技术中用于打包或隔离的特殊程序,能够限制自己的cpu资源和内存资源。应用程序可以在容器中运行。例如docker。
35.实施例1
36.根据本发明实施例,还提供了一种处理测试任务的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
37.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现处理测试任务的方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a,102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为bus总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
38.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
39.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的处理
测试任务的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的处理测试任务的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
40.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
41.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
42.此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
43.在上述运行环境下,本技术提供了如图2所示的一种处理测试任务的方法。图2是根据本发明实施例的一种处理测试任务的方法的流程图,如图2所示,该处理测试任务的方法包括:
44.步骤s202,接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;
45.步骤s204,对测试任务指令进行解析,生成待执行的多个分布式任务;
46.步骤s206,调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
47.在上述可选的实施例中,测试任务请求可以是客户端基于测试任务发出的请求消息,该测试任务可以是在优化求解器的某次测试对应的任务。其中,该测试任务请求中携带的信息可以包括测试任务指令,该测试任务指令可以是该测试任务对应的计算机可执行指令。
48.在上述可选的实施例中,解析测试任务指令,可以生成待执行的多个分布式任务。该多个分布式任务可以被并行处理。上述目标分布式集群可以是用于执行上述测试任务的计算机集群,该计算机集群可以包括多个执行节点。执行节点可以是用于计算的物理机。通过调度该目标分布式集群中的部分或全部执行节点,可以并行处理该多个分布式任务,进而得到上述测试结果。
49.容易注意到的是,在上述可选的实施例中,多个分布式任务由测试任务指令解析得到。该多个分布式任务与测试任务相对应,且可以被并行处理。通过上述处理测试任务的方法,在优化求解器测试模型数量较多时,可以实现多机并行计算,与相关技术中单机串行计算相比,大大减少了测试时间,提高了测试效率。
50.需要说明的是,上述处理测试任务的方法可以运行于服务端,接收并响应客户端
发出的测试任务请求。在实际应用场景中,该服务端可以对应多个客户端,以其强大的计算性能解决多个客户端发出的测试任务请求,大规模提高求解器研发效率和测试效率。
51.在本发明实施例中,首先接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令,通过对测试任务指令进行解析,生成待执行的多个分布式任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务的方法,得到测试结果。
52.容易注意到的是,通过本技术实施例,基于客户端发出的测试任务请求进行解析,进而通过调度操作执行测试并获得测试结果,达到了通过解析操作和调度操作在优化求解器测试中实现多机并行的目的,从而实现了减少优化求解器测试时间、提高优化求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
53.需要说明的是,本发明实施例可以但不限于适用于优化求解器研发应用场景、优化求解器测试应用场景。例如,还可以应用于如下应用优化求解器的技术领域:电力能源领域(例如能源技术、能源管理、能源发电、能源设备、电力传输、电力分配、电力测量等);工业制造领域(例如农副食品加工、食品制造、烟草制品、纺织、机械电子制造等);交通物流领域(例如铁路运输、公路运输、水路运输、航空运输、物流揽收、物流配送等);零售领域(例如商品管理、销售分析等);金融领域(例如银行管理、保险分析、证券分析等);医疗领域(例如医疗数据分析、电子病历、预约挂号信息管理等);教育领域(例如课程数据管理、学习数据分析等)。
54.容易注意到的是,通过本实施例提供的方法,客户端可以使用命令行语法一次发起一批测试任务,服务端将这些测试任务分发给多个执行节点并行处理,可以大大减少测试任务的处理时间,提高优化求解器测试的效率。
55.在一种可选的实施例中,在步骤s204中,对测试任务指令进行解析,生成多个分布式任务,包括如下方法步骤:
56.步骤s241,对测试任务指令进行解析,得到解析结果,其中,解析结果包括:第一信息、第二信息和第三信息,第一信息用于确定待执行程序、第二信息用于确定待执行程序的执行逻辑、第三信息用于确定待测试的模型文件;
57.步骤s242,基于第一信息、第二信息和第三信息,将测试任务指令扩展成多个子命令;
58.步骤s243,利用多个子命令生成多个分布式任务。
59.在上述可选的实施例中,测试任务指令可以是客户端发出的测试任务请求中携带的信息,该测试任务指令可以是该测试任务对应的计算机可执行指令。对该测试任务指令进行解析得到的解析结果可以包括:上述第一信息、上述第二信息和上述第三信息。该第一信息可以是命令行工具,可以用于确定待执行的程序;该第二信息可以是执行参数,可以用于确定待执行程序的执行逻辑;该第三信息可以是需要求解的模型文件,可以用于确定待测试的模型文件。
60.在上述可选的实施例中,基于上述第一信息、上述第二信息和上述第三信息,可以上述测试任务指令扩展成上述多个子命令,进而利用该多个子命令生成上述多个分布式任务。该多个分布式任务可以被并行处理。
61.图3是根据本发明实施例的一种可选的求解器并行测试的发起过程的示意图,如图3所示,用户可以通过网页端或者软件开发工具包(software development kit,简称sdk)向任务应用程序编程接口(application programming interface,简称api)发起测试任务。该sdk可以包括python sdk、java sdk或者其他语言sdk。
62.可选地,在用户发起测试任务时,可以指定该测试任务对应的待执行的程序、待执行的模型文件和执行参数。该执行程序以压缩包的形式上传至测试任务处理平台的工具集中,该待执行的模型文件和其他相关数据上传至测试任务处理平台的文件存储空间,该执行参数可以在发起测试任务时由用户直接给定。
63.仍然如图3所示,任务api接收到客户端发出的测试任务指令后,对该测试任务指令的进行语法解析,可以得到解析结果。该解析结果包括该测试任务对应的:待执行的程序(相当于上述第一信息)、待执行的模型文件(相当于上述第三信息)和执行参数(相当于上述第二信息)。任务api还可以将解析结果转换为一批待执行的子命令,并利用该待执行的子命令生成多个分布式任务。
64.例如:对某次改进的优化求解器abc进行测试时,需要针对模型文件a1、模型文件a2和模型文件a3执行如下测试指令:./abc-i 1ax。在该测试指令中,“abc”为待执行的命令行工具,
“‑
i 1”为执行参数,“ax”为待执行的模型文件。该命令行工具可以用于确定待执行的程序。该执行参数可以用于确定待执行程序的执行逻辑(如:当执行参数为1时,优化求解器abc会打开一个网页;当执行参数为2时,优化求解器abc会下载一个网页)。
65.仍然例如:对某次改进的优化求解器abc进行测试时,用户发起测试任务可以包括如下方法步骤:
66.第一步:将待执行的命令行工具“abc”上传至测试任务处理平台的工具集中;
67.第二步:将模型文件a1、模型文件a2和模型文件a3上传至测试任务处理平台的文件存储空间中的“/x/y/”目录下;
68.第三步:通过测试指令“./abc-i 1%data:/x/y/”发起分布式测试任务。
69.客户端向服务端后台发起上述测试任务后,服务端后台中的任务api会对测试任务指令进行解析,进而生成多个分布式任务。服务端后台可以基于测试指令“./abc-i1%data:/x/y/”自动读取目录“/x/y/”下的模型文件内容,然后将该测试指令扩展成如下一批分布式命令(相当于上述多个分布式任务):“./abc-i 1a1”,“./abc-i 1a2”,“./abc-i1a3”。
70.具体地,服务端后台中的任务api解析测试指令“./abc-i 1%data:/x/y/”得到的解析结果可以包括:命令行工具“abc”(相当于上述第一信息);执行参数
“‑
i 1”(相当于上述第二信息);模型文件a1、模型文件a2和模型文件a3(相当于上述第三信息)。
71.需要说明的是,上述测试指令中的关键字“%data:”可以用于引用测试任务处理平台的文件存储空间中的目录或者文件。此外,本实施例中还可以提供关键字“%param:set:”用于指定一批自定义的实验参数;本实施例中还可以提供关键字“%param:seq:”用于指定一批数字参数;本实施例中还可以提供关键字“%param:sample:”用于指定数字抽样参数。
72.需要说明的是,在测试过程中可以嵌套使用上述多个关键字,测试任务处理平台通常会以笛卡尔积的方式扩展分布式命令。对于非笛卡尔积扩展的测试场景,可以通过关
键字“%file:”进行待执行命令列表的精细控制。该关键字“%file:”用于针对预设参数指定的测试任务处理平台的文件存储空间中的文件内容进行按行读取,还可以用于将该文件内容扩展为待执行的命令集合。特别地,该文件内容中可以嵌套使用上述多个关键字指定数据和预设参数。
73.在一种可选的实施例中,处理测试任务的方法还包括如下方法步骤:
74.步骤s208,将解析结果存储至第一存储区域,其中,第一存储区域采用表格形式存储数据;
75.步骤s210,响应于新增任务查询请求,当确定从第一存储区域查询到解析结果时,将多个分布式任务关联的参数信息存储至第二存储区域,其中,第二存储区域采用内存形式存储数据,参数信息包括:第一信息、第二信息、第三信息、第四信息和第五信息,第四信息用于确定多个分布式任务的任务标识,第五信息用于确定多个分布式任务的任务超时时间。
76.在上述可选的实施例中,解析结果可以包括上述第一信息、上述第二信息和上述第三信息。该解析结果可以用于生成上述多个分布式任务。上述第一存储区域采用表格形式存储数据。例如:该第一存储区域可以是关系型数据库mysql。
77.在上述可选的实施例中,当检测到新增的任务查询请求,并确定从上述第一存储区域查询到上述解析结果时,将上述多个分布式任务关联的参数信息存储至上述第二存储区域。该多个分布式任务与测试任务相对应,且可以被并行处理。该分布式任务关联的参数信息可以包括:上述第一信息、上述第二信息、上述第三信息、上述第四信息和上述第五信息。上述第二存储区域采用内存形式存储数据,例如:该第二存储区域可以是kv内存存储。
78.在上述可选的实施例中,上述第一信息可以是命令行工具,可以用于确定待执行的程序;上述第二信息可以是执行参数,可以用于确定待执行程序的执行逻辑;上述第三信息可以是需要求解的模型文件,可以用于确定待测试的模型文件;上述第四信息可以用于确定上述多个分布式任务的任务标识;上述第五信息可以用于确定上述多个分布式任务的任务超时时间。其中,该第一信息、该第二信息、该第三信息可以由测试任务指令解释得到。
79.仍然如图3所示,服务端后台中的任务api可以将解析测试任务指令得到的解析结果存储至数据库(可以是关系型数据库,如mysql)中。
80.仍然如图3所示,服务端后台中的任务api还可以发起实时触发的新增测试任务检查请求(相当于上述新增任务查询请求)。该新增测试任务检查由服务端后台中的任务调度器执行。当任务调度器从数据库中查询到测试任务指令的解析结果时,将上述一批分布式命令关联的参数信息存储至kv内存存储中。
81.仍然如图3所示,上述实时触发的新增测试任务检查由任务调度器执行。任务调度器可以从关键值内存存储中获取分布式锁,并基于数据库中存储的数据查询多个分布式任务中每个分布式任务的状态信息。
82.特别地,由于实际应用场景中该检查的触发非常频繁,因此,可以在服务端后台设置限流器。该限流器可以用于控制该新增测试任务检查定时触发。如一段时间内触发多次新增测试任务检查请求,则该段时间内只执行一次新增测试任务检查。限流器可以合并该段时间内由任务api发起的多次新增测试任务检查请求,并将合并后的新增测试任务检查请求传送给任务调度器。
83.需要说明的是,测试任务的状态信息可以包括:等待中、调度中、执行中、执行成功、执行失败等。在客户端向服务端后台提交测试任务时,服务端后台会将数据库中存储的测试任务状态信息由等待中更新为调度中。任务调度器在进行任务调度时会依据数据库中测试任务的状态信息,判断是否将测试任务关联的参数信息存储至kv内存存储,并判断是否将测试任务提交至分布式集群执行。
84.在一种可选的实施例中,处理测试任务的方法还包括如下方法步骤:
85.步骤s212,确定目标分布式集群中的可用执行节点数量和多个分布式任务的待使用计算资源;
86.步骤s214,基于可用执行节点数量和待使用计算资源从目标分布式集群中选取部分或全部执行节点。
87.在上述可选的实施例中,上述目标分布式集群可以是用于执行上述测试任务的计算机集群,该计算机集群可以包括多个执行节点。执行节点可以是用于计算的物理机。上述可用执行节点可以是运行正常且未执行任务的节点(如:处于“等待中”状态的执行节点)。
88.在上述可选的实施例中,多个分布式任务由测试任务指令解析得到。该多个分布式任务与测试任务相对应,且可以被并行处理。上述待使用计算资源可以是该多个分布式任务同时被执行时占用的最大配置资源(如:内存资源、cpu资源等)。
89.在上述可选的实施例中,确定目标分布式集群中的可用执行节点数量和多个分布式任务的待使用计算资源,并基于该可用执行节点数量和该待使用计算资源,可以从目标分布式集群中选取部分或全部执行节点。该部分或全部执行节点可以用于并行处理该多个分布式任务。
90.仍然如图3所示,目标分布式集群可以是外网工作组,也可以是内网工作组。该外网工作组和该内网工作组均可以包含多个群组,该多个群组中每个群组可以包含多个物理机(如:pc机、ecs服务器等,相当于上述节点)。服务端后台中的任务调度器可以获取该目标分布式集群中的可执行节点数量。其中,可执行节点为处于空闲状态(未执行测试任务)的节点。
91.仍然如图3所示,任务调度器可以基于数据库中存储的数据,查询未结束的分布式任务的执行状态,以此确定多个分布式任务执行时最大的配置占用量(相当于上述待使用计算资源)。
92.仍然如图3所示,任务调度器基于目标分布式集群中的可执行节点数量和多个分布式任务执行时最大的配置占用量,可以从外网工作组中选取多个节点。该多个节点可以用于并行处理该多个分布式任务。
93.需要说明的是,任务调度器在进行测试任务的调度时,可以根据实际应用场景的需求在任务维度上实现集群隔离(如:将部分任务调度至同一个容器中执行)、最大占用节点限制、任务超时停止、任务接口停止等效果。
94.在一种可选的实施例中,在步骤s206中,调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果,包括如下方法步骤:
95.步骤s261,从第二存储区域获取参数信息;
96.步骤s262,通过参数信息确定待执行程序、待执行程序的执行逻辑和待测试的模型文件;
97.步骤s263,基于多个分布式任务中每个分布式任务对应的执行环境,调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果。
98.在上述可选的实施例中,上述第二存储区域采用内存形式存储数据,例如:该第二存储区域可以是kv内存存储。该第二存储区域内存储的参数信息包括:上述第一信息、上述第二信息、上述第三信息、上述第四信息和上述第五信息。其中,上述第一信息可以用于确定待执行的程序;上述第二信息可以用于确定待执行程序的执行逻辑;上述第三信息可以用于确定待测试的模型文件;上述第四信息可以用于确定上述多个分布式任务的任务标识;上述第五信息可以用于确定上述多个分布式任务的任务超时时间。从第二存储区域获取参数信息,通过该参数信息可以确定测试任务中待执行程序、待执行程序的执行逻辑和待测试的模型文件。
99.在上述可选的实施例中,多个分布式任务由测试任务指令解析得到。该多个分布式任务与测试任务相对应,且可以被并行处理。上述部分或全部执行节点可以是从目标分布式集群中选取的执行节点。基于该多个分布式任务中每个分布式任务对应的执行环境,可以调度该部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理该多个分布式任务,进而得到上述测试结果。该测试结果可以是测试任务的并行处理结果。
100.仍然如图3所示,当目标分布式集群中的执行节点检测到kv内存存储中的调度给该执行节点的新任务时,该执行节点可以从该kv内存存储中获取任务提交时存储的任务参数信息并开始执行任务。
101.图4是根据本发明实施例的一种可选的节点执行分布式任务的过程的示意图,如图4所示,目标分布式集群中的某一节点执行对应的分布式任务可以包括如下方法步骤:
102.步骤s2601,从kv存储器中获取对应的分布式任务的参数信息;
103.步骤s2602,将该分布式任务的任务状态、执行该分布式任务的节点信息更新至服务端后台;
104.步骤s2603,清理历史执行任务的目录,并准备当前分布式任务的执行目录;
105.步骤s2604,下载分布式任务对应的执行工具包,并自动解压下载的zip格式的压缩包;
106.步骤s2605,下载分布式任务依赖的执行数据,并自动解压下载的zip格式的压缩包;
107.步骤s2606,判断当前分布式任务是否依赖容器环境:如果当前分布式任务依赖容器环境,则以指定的容器或沙箱启动用户测试命令,此时需要限制该容器或沙箱的最大可用资源(如内存资源、cpu资源等)量并将该分布式任务的执行目录挂载到该容器或沙箱中;如果当前分布式任务不依赖容器环境,说明执行环境为host机器,则在当前执行节点上启动用户测试命令;
108.步骤s2607,在启动用户测试命令的过程中,实时上传执行日志到对象文件存储中,并在启动用户测试命令后收集上传指定的文件;
109.步骤s2608,执行统计命令,并上传统计命令结果;
110.步骤s2609,将分布式任务状态和执行结果更新到服务端后台。
111.仍然如图3所示,在执行节点执行分布式任务的过程中,所有的下载步骤中都会先检查该执行节点本地的文件缓存,如果不存在所需文件,则从对象文件存储中下载该文件。
112.容易注意到的是,本实施例提供的方法中,执行分布式任务时可以配置执行节点的执行环境(如:直接在执行节点上执行或者在指定的容器中执行)。此外,在多个执行节点并行处理测试任务的过程中,所有的参数信息传递和数据传递均通过kv内存存储或者对象文件存储实现,说明执行节点和服务端后台不存在直接的数据交互,因此,本实施例提供的方法可以支持一个服务端后台同时接入多个不同网络环境的机器作为执行节点集群。
113.在一种可选的实施例中,处理测试任务的方法还包括如下方法步骤:
114.步骤s216,将测试结果中的第一数据存储至第三存储区域,以及将测试结果中的第二数据存储至第二存储区域,其中,第三存储区域采用文件形式存储数据,第一数据为测试结果中的非结构化数据,第二数据为测试结果中的结构化数据。
115.在上述可选的实施例中,上述测试结果可以是测试任务的并行处理结果。该测试结果可以包括:第一数据和第二数据。该第一数据是非结构化数据(指二进制文件,如:文件、程序、图片等),该第二数据是结构化数据(指文本数据,如:json格式的字符串)。
116.在上述可选的实施例中,上述第二存储区域采用内存形式存储数据,例如:该第二存储区域可以是kv内存存储。上述第三存储区域采用文件形式存储数据,例如:该第三存储区域可以是对象文件存储。将上述测试结果中的上述第一数据存储至该第三存储区域,将上述测试结果中的上述第二数据存储至该第二存储区域。
117.在一种可选的实施例中,处理测试任务的方法还包括如下方法步骤:
118.步骤s218,响应于测试结果更新消息,将第二数据从第二存储区域转存至第一存储区域;
119.步骤s220,从第一存储区域查询第二数据,并将第二数据反馈至客户端。
120.在上述可选的实施例中,当收到测试结果更新消息时,将上述第二数据从上述第二存储区域转存至上述第一存储区域。进而,可以从该第一存储区域中查询该第二数据并将该第二数据反馈给客户端。该第二存储区域采用内存形式存储数据,该第一存储区域采用表格形式存储数据。该第二数据是测试结果中的结构化数据(指文本数据,如:json格式的字符串)。
121.仍然如图3所示,当目标分布式集群中的所有执行节点均执行完成后,可以得到测试任务对应的测试结果。将该测试结果中的非结构化数据上传至对象文件存储,并且将该测试结果中的结构化数据上传至kv内存存储。
122.仍然如图3所示,kv内存存储可以发布测试结果更新消息,将测试结果中的结构化数据发布至服务端后台的消息订阅模块。该消息订阅模块收到该结构更新消息后,可以将最新的测试结果存储至数据库中。
123.仍然如图3所示,服务端后台通过查询数据库中存储的数据,可以得到所有测试任务的执行结果和执行日志,并据此提供测试结果的展示页面和查询接口。
124.容易注意到的是,本实施例提供的处理测试任务的方法的有益效果在于:可以通过数据驱动的方式解析命令语法,将单行命令自动扩展为一批子命令,进而得到支持并行处理的多个分布式任务;还可以在分布式集群兼容不同网络环境下的执行节点;还可以提供sdk发起测试任务的方式,支持用户实现不同语言求解器的测试;还可以支持按容器定义
测试任务的执行环境,进而支持服务端后台同时管理多个集群,支持用户自定义测试任务的最大节点占用量以及其他分布式任务调度方法,支持数据文件缓存加速。
125.在一种可选的实施例中,通过客户端提供一图形用户界面,图形用户界面所显示的内容至少部分地包含一测试任务并行处理场景,处理测试任务的方法还包括如下方法步骤:
126.步骤s302,接收在客户端上通过图形用户界面上传的待执行程序和待测试的模型文件;
127.步骤s304,接收在客户端上通过图形用户界面输入的测试任务指令,其中,测试任务指令包括:执行参数,执行参数用于确定待执行程序的执行逻辑;
128.步骤s306,调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果;
129.步骤s308,将测试结果返回至客户端,并在图形用户界面内展示测试结果。
130.在上述可选的实施例中,客户端提供的图形用户界面内容可以至少部分地包含上述测试任务并行处理场景。客户端可以通过该图形用户界面将待执行程序和待测试的模型文件上传至服务端。客户端还可以通过该图形用户界面输入测试任务指令。该测试任务指令可以包括执行参数。该执行参数可以用于确定该待执行程序的执行逻辑。
131.在上述可选的实施例中,服务端接收客户端通过图形用户界面上传的待执行程序和待测试的模型文件,并接收客户端通过图形用户界面输入的测试任务指令后,可以调度上述部分或全部执行节点利用该待执行程序、该待执行程序的执行逻辑和该待测试的模型文件并行处理上述多个分布式任务,进而得到测试结果。
132.在上述可选的实施例中,服务端可以将得到的测试结果返回给客户端。客户端可以通过图形用户界面,将服务端返回的测试结果展示给用户。
133.可选地,上述待执行程序和待测试的模型文件也可以是由服务端通过对测试任务执行进行解析得到的。上述多个分布式任务与测试任务相对应,且可以被并行处理。上述部分或全部执行节点可以是从目标分布式集群中选取的执行节点,该部分或全部执行节点可以用于并行处理该多个分布式任务。上述测试结果可以是测试任务的并行处理结果。
134.在一种可选的实施例中,处理测试任务的方法还包括如下方法步骤:
135.步骤s310,在对多个分布式任务进行并行处理的过程中,响应在客户端上通过图形用户界面执行的调整操作,更新待执行程序和/或多个分布式任务,其中,更新多个分布式任务包括以下至少之一:在多个分布式任务的基础上增加新的分布式任务、中止执行多个分布式任务中部分正在执行的分布式任务。
136.在上述可选的实施例中,在服务端对上述多个分布式任务进行并行处理的过程中,客户端可以通过上述图形用户界面执行上述调整操作。该调整操作可以用于更新待执行程序和/或多个分布式任务。
137.可选地,更新多个分布式任务可以是:在已有多个分布式任务的基础上增加新的分布式任务;中止执行已有多个分布式任务中部分正在执行的分布式任务;在已有多个分布式任务的基础上增加新的分布式任务,同时中止执行已有多个分布式任务中部分正在执行的分布式任务。
138.可选地,上述调整操作可以是通过网页端或sdk重新上传待执行程序、重新输入测
试任务指令、调整已输入的测试任务指令等。
139.容易注意到的是,通过本实施例提供的方法,用户可以在服务端执行测试任务的过程中做出实时的动态调整,提高了求解器测试过程的灵活性,进而提高求解器研发和测试的效率,有利于实际场景中的应用。
140.容易注意到的是,本实施例提供的方法的有益效果还在于:支持高并发、分布式的求解器测试。具体地:提供可视化的处理测试任务的图形用户界面,便于配置算法(如:算法主程序、算法相关数据、配置参数等),进而支持多种测试方式。例如:固定程序固定数据下的配置参数调优、固定程序多个数据下的通配参数调优等。
141.在上述运行环境下,本发明提供了如图5所示的一种处理测试任务的方法。图5是根据本发明实施例的另一种处理测试任务的方法的流程图,如图5所示,该处理测试任务的方法,包括:
142.步骤s502,接收来自于客户端的云计算测试任务请求,其中,云计算测试任务请求中携带的信息包括:云计算测试任务指令;
143.步骤s503,对云计算测试任务指令进行解析,生成待执行的多个分布式云计算任务;
144.步骤s504,调度目标分布式集群中的部分或全部执行节点并行处理多个分布式云计算任务,得到云计算测试结果。
145.在上述可选的实施例中,云计算测试任务请求可以是客户端基于云计算测试任务发出的请求消息,该云计算测试任务可以是在云计算求解器的某次测试对应的任务。其中,该云计算测试任务请求中携带的信息可以包括云计算测试任务指令,该云计算测试任务指令可以是该云计算测试任务对应的计算机可执行指令。
146.在上述可选的实施例中,解析云计算测试任务指令,可以生成待执行的多个分布式云计算任务。该多个分布式云计算任务可以被并行处理。上述目标分布式集群可以是用于执行上述云计算测试任务的计算机集群,该计算机集群可以包括多个执行节点。执行节点可以是用于计算的物理机。通过调度该目标分布式集群中的部分或全部执行节点,可以并行处理该多个分布式云计算任务,进而得到上述云计算测试结果。
147.容易注意到的是,在上述可选的实施例中,多个分布式云计算任务由云计算测试任务指令解析得到。该多个分布式云计算任务与云计算测试任务相对应,且可以被并行处理。通过上述处理云计算测试任务的方法,在云计算求解器测试模型数量较多时,可以实现多机并行计算,与相关技术中单机串行计算相比,大大减少了测试时间,提高了测试效率。
148.需要说明的是,上述处理云计算测试任务的方法可以运行于服务端,接收并响应客户端发出的云计算测试任务请求。在实际应用场景中,该服务端可以对应多个客户端,以其强大的计算性能解决多个客户端发出的云计算测试任务请求,大规模提高云计算求解器研发效率和测试效率。
149.在本发明实施例中,首先接收来自于客户端的云计算测试任务请求,其中,云计算测试任务请求中携带的信息包括:云计算测试任务指令,通过对云计算测试任务指令进行解析,生成待执行的多个分布式云计算任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式云计算任务的方法,得到云计算测试结果。
150.容易注意到的是,通过本技术实施例,基于客户端发出的云计算测试任务请求进
行解析,进而通过调度操作执行测试并获得云计算测试结果,达到了通过解析操作和调度操作在云计算求解器测试中实现多机并行的目的,从而实现了减少云计算求解器测试时间、提高云计算求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
151.需要说明的是,本发明实施例可以但不限于适用于云计算中的优化求解器测试应用场景。例如,还可以应用于如下应用优化求解器的技术领域:电力能源领域(例如能源技术、能源管理、能源发电、能源设备、电力传输、电力分配、电力测量等);工业制造领域(例如农副食品加工、食品制造、烟草制品、纺织、机械电子制造等);交通物流领域(例如铁路运输、公路运输、水路运输、航空运输、物流揽收、物流配送等);零售领域(例如商品管理、销售分析等);金融领域(例如银行管理、保险分析、证券分析等);医疗领域(例如医疗数据分析、电子病历、预约挂号信息管理等);教育领域(例如课程数据管理、学习数据分析等)。
152.在一种可选的实施例中,通过客户端提供一图形用户界面,图形用户界面所显示的内容至少部分地包含一云计算测试任务并行处理场景,处理测试任务的方法还包括如下方法步骤:
153.步骤s512,接收在客户端上通过图形用户界面上传的待执行云计算程序和待测试的云计算模型文件;
154.步骤s514,接收在客户端上通过图形用户界面输入的云计算测试任务指令,其中,云计算测试任务指令包括:云计算执行参数,云计算执行参数用于确定待执行云计算程序的执行逻辑;
155.步骤s516,调度部分或全部执行节点利用待执行云计算程序、待执行云计算程序的执行逻辑和待测试的云计算模型文件并行处理多个分布式云计算任务,得到云计算测试结果;
156.步骤s518,将云计算测试结果返回至客户端,并在图形用户界面内展示云计算测试结果。
157.在上述可选的实施例中,客户端提供的图形用户界面内容可以至少部分地包含上述云计算测试任务并行处理场景。客户端可以通过该图形用户界面将待执行云计算程序和待测试的云计算模型文件上传至服务端。客户端还可以通过该图形用户界面输入云计算测试任务指令。该云计算测试任务指令可以包括云计算执行参数。该云计算执行参数可以用于确定该待执行云计算程序的执行逻辑。
158.在上述可选的实施例中,服务端接收客户端通过图形用户界面上传的待执行云计算程序和待测试的云计算模型文件,并接收客户端通过图形用户界面输入的云计算测试任务指令后,可以调度上述部分或全部执行节点利用该待执行云计算程序、该待执行云计算程序的执行逻辑和该待测试的云计算模型文件并行处理上述多个分布式云计算任务,进而得到云计算测试结果。
159.在上述可选的实施例中,服务端可以将得到的云计算测试结果返回给客户端。客户端可以通过图形用户界面,将服务端返回的云计算测试结果展示给用户。
160.可选地,上述待执行云计算程序和待测试的云计算模型文件也可以是由服务端通过对云计算测试任务执行进行解析得到的。上述多个分布式云计算任务与云计算测试任务相对应,且可以被并行处理。上述部分或全部执行节点可以是从目标分布式集群中选取的
执行节点,该部分或全部执行节点可以用于并行处理该多个分布式云计算任务。上述云计算测试结果可以是云计算测试任务的并行处理结果。
161.在上述运行环境下,本发明提供了如图6所示的一种处理测试任务的方法。图6是根据本发明实施例的另一种处理测试任务的方法的流程图,如图6所示,该处理测试任务的方法,包括:
162.步骤s602,接收来自于客户端的电力能源测试任务请求,其中,电力能源测试任务请求中携带的信息包括:电力能源测试任务指令;
163.步骤s604,对电力能源测试任务指令进行解析,生成待执行的多个分布式电力能源任务;
164.步骤s606,调度目标分布式集群中的部分或全部执行节点并行处理多个分布式电力能源任务,得到电力能源测试结果。
165.在上述可选的实施例中,电力能源测试任务请求可以是客户端基于电力能源测试任务发出的请求消息,该电力能源测试任务可以是在电力能源求解器的某次测试对应的任务。其中,该电力能源测试任务请求中携带的信息可以包括电力能源测试任务指令,该电力能源测试任务指令可以是该电力能源测试任务对应的计算机可执行指令。
166.在上述可选的实施例中,解析电力能源测试任务指令,可以生成待执行的多个分布式电力能源任务。该多个分布式电力能源任务可以被并行处理。上述目标分布式集群可以是用于执行上述电力能源测试任务的计算机集群,该计算机集群可以包括多个执行节点。执行节点可以是用于计算的物理机。通过调度该目标分布式集群中的部分或全部执行节点,可以并行处理该多个分布式电力能源任务,进而得到上述电力能源测试结果。
167.容易注意到的是,在上述可选的实施例中,多个分布式电力能源任务由电力能源测试任务指令解析得到。该多个分布式电力能源任务与电力能源测试任务相对应,且可以被并行处理。通过上述处理电力能源测试任务的方法,在电力能源求解器测试模型数量较多时,可以实现多机并行计算,与相关技术中单机串行计算相比,大大减少了测试时间,提高了测试效率。
168.需要说明的是,上述处理电力能源测试任务的方法可以运行于服务端,接收并响应客户端发出的电力能源测试任务请求。在实际应用场景中,该服务端可以对应多个客户端,以其强大的计算性能解决多个客户端发出的电力能源测试任务请求,大规模提高电力能源求解器研发效率和测试效率。
169.在本发明实施例中,首先接收来自于客户端的电力能源测试任务请求,其中,电力能源测试任务请求中携带的信息包括:电力能源测试任务指令,通过对电力能源测试任务指令进行解析,生成待执行的多个分布式电力能源任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式电力能源任务的方法,得到电力能源测试结果。
170.容易注意到的是,通过本技术实施例,基于客户端发出的电力能源测试任务请求进行解析,进而通过调度操作执行测试并获得电力能源测试结果,达到了通过解析操作和调度操作在电力能源求解器测试中实现多机并行的目的,从而实现了减少电力能源求解器测试时间、提高电力能源求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
171.需要说明的是,本发明实施例可以但不限于适用于电力能源领域中的能源技术、
能源管理、能源发电、能源设备、电力传输、电力分配、电力测量等应用场景。例如,还可以应用于如下应用优化求解器的技术领域:云计算领域;工业制造领域(例如农副食品加工、食品制造、烟草制品、纺织、机械电子制造等);交通物流领域(例如铁路运输、公路运输、水路运输、航空运输、物流揽收、物流配送等);零售领域(例如商品管理、销售分析等);金融领域(例如银行管理、保险分析、证券分析等);医疗领域(例如医疗数据分析、电子病历、预约挂号信息管理等);教育领域(例如课程数据管理、学习数据分析等)。
172.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
173.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
174.实施例2
175.根据本发明实施例,还提供了一种用于实施上述处理测试任务的方法的装置实施例,图7是根据本发明实施例的一种处理测试任务的装置的结构示意图,如图7所示,该装置包括:接收模块701、解析模块702、处理模块703,其中,
176.接收模块701,用于接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;解析模块702,用于对测试任务指令进行解析,生成待执行的多个分布式任务;处理模块703,用于调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
177.可选地,解析模块703,还用于对测试任务指令进行解析,得到解析结果,其中,解析结果包括:第一信息、第二信息和第三信息,第一信息用于确定待执行程序、第二信息用于确定待执行程序的执行逻辑、第三信息用于确定待测试的模型文件;基于第一信息、第二信息和第三信息,将测试任务指令扩展成多个子命令;利用多个子命令生成多个分布式任务。
178.可选地,图8是根据本发明实施例的另一种处理测试任务的装置的结构示意图,如图8所示,该装置除包括图7所示的所有模块外,还包括:第一存储模块704,用于将解析结果存储至第一存储区域,其中,第一存储区域采用表格形式存储数据;响应于新增任务查询请求,当确定从第一存储区域查询到解析结果时,将多个分布式任务关联的参数信息存储至第二存储区域,其中,第二存储区域采用内存形式存储数据,参数信息包括:第一信息、第二信息、第三信息、第四信息和第五信息,第四信息用于确定多个分布式任务的任务标识,第五信息用于确定多个分布式任务的任务超时时间。
179.可选地,图9是根据本发明实施例的另一种处理测试任务的装置的结构示意图,如图9所示,该装置除包括图8所示的所有模块外,还包括:选取模块705,用于确定目标分布式
集群中的可用执行节点数量和多个分布式任务的待使用计算资源;基于可用执行节点数量和待使用计算资源从目标分布式集群中选取部分或全部执行节点。
180.可选地,处理模块703,还用于从第二存储区域获取参数信息;通过参数信息确定待执行程序、待执行程序的执行逻辑和待测试的模型文件;基于多个分布式任务中每个分布式任务对应的执行环境,调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果。
181.可选地,图10是根据本发明实施例的另一种处理测试任务的装置的结构示意图,如图10所示,该装置除包括图9所示的所有模块外,还包括:第二存储模块706,用于将测试结果中的第一数据存储至第三存储区域,以及将测试结果中的第二数据存储至第二存储区域,其中,第三存储区域采用文件形式存储数据,第一数据为测试结果中的非结构化数据,第二数据为测试结果中的结构化数据。
182.可选地,图11是根据本发明实施例的另一种处理测试任务的装置的结构示意图,如图11所示,该装置除包括图10所示的所有模块外,还包括:更新模块707,用于响应于测试结果更新消息,将第二数据从第二存储区域转存至第一存储区域;从第一存储区域查询第二数据,并将第二数据反馈至客户端。
183.此处需要说明的是,上述接收模块701、解析模块702、处理模块703对应于实施例1中的步骤s202至步骤s206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
184.在本发明实施例中,首先使用接收模块接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令,通过解析模块对测试任务指令进行解析,生成待执行的多个分布式任务,采用处理模块调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务的方法,得到测试结果。
185.容易注意到的是,通过本技术实施例,基于客户端发出的测试任务请求进行解析,进而通过调度操作执行测试并获得测试结果,达到了通过解析操作和调度操作在优化求解器测试中实现多机并行的目的,从而实现了减少优化求解器测试时间、提高优化求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
186.需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
187.实施例3
188.根据本发明实施例,还提供了一种电子装置的实施例,该电子装置可以是计算装置群中的任意一个计算装置。该电子装置包括:处理器和存储器,其中:
189.存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
190.在本发明实施例中,首先接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令,通过对测试任务指令进行解析,生成待执行的多个分布
式任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务的方法,得到测试结果。
191.容易注意到的是,通过本技术实施例,基于客户端发出的测试任务请求进行解析,进而通过调度操作执行测试并获得测试结果,达到了通过解析操作和调度操作在优化求解器测试中实现多机并行的目的,从而实现了减少优化求解器测试时间、提高优化求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
192.需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
193.实施例4
194.本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
195.可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
196.在本实施例中,上述计算机终端可以执行处理测试任务的方法中以下步骤的程序代码:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
197.可选地,图12是根据本发明实施例的另一种计算机终端的结构框图,如图12所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器122、存储器124、以及外设接口126。
198.其中,存储器可用于存储软件程序以及模块,如本发明实施例中的处理测试任务的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的处理测试任务的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
199.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
200.可选地,上述处理器还可以执行如下步骤的程序代码:对测试任务指令进行解析,得到解析结果,其中,解析结果包括:第一信息、第二信息和第三信息,第一信息用于确定待执行程序、第二信息用于确定待执行程序的执行逻辑、第三信息用于确定待测试的模型文件;基于第一信息、第二信息和第三信息,将测试任务指令扩展成多个子命令;利用多个子命令生成多个分布式任务。
201.可选地,上述处理器还可以执行如下步骤的程序代码:将解析结果存储至第一存
储区域,其中,第一存储区域采用表格形式存储数据;响应于新增任务查询请求,当确定从第一存储区域查询到解析结果时,将多个分布式任务关联的参数信息存储至第二存储区域,其中,第二存储区域采用内存形式存储数据,参数信息包括:第一信息、第二信息、第三信息、第四信息和第五信息,第四信息用于确定多个分布式任务的任务标识,第五信息用于确定多个分布式任务的任务超时时间。
202.可选地,上述处理器还可以执行如下步骤的程序代码:确定目标分布式集群中的可用执行节点数量和多个分布式任务的待使用计算资源;基于可用执行节点数量和待使用计算资源从目标分布式集群中选取部分或全部执行节点。
203.可选地,上述处理器还可以执行如下步骤的程序代码:从第二存储区域获取参数信息;通过参数信息确定待执行程序、待执行程序的执行逻辑和待测试的模型文件;基于多个分布式任务中每个分布式任务对应的执行环境,调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果。
204.可选地,上述处理器还可以执行如下步骤的程序代码:将测试结果中的第一数据存储至第三存储区域,以及将测试结果中的第二数据存储至第二存储区域,其中,第三存储区域采用文件形式存储数据,第一数据为测试结果中的非结构化数据,第二数据为测试结果中的结构化数据。
205.可选地,上述处理器还可以执行如下步骤的程序代码:响应于测试结果更新消息,将第二数据从第二存储区域转存至第一存储区域;从第一存储区域查询第二数据,并将第二数据反馈至客户端。
206.可选地,上述处理器还可以执行如下步骤的程序代码:接收在客户端上通过图形用户界面上传的待执行程序和待测试的模型文件;接收在客户端上通过图形用户界面输入的测试任务指令,其中,测试任务指令包括:执行参数,执行参数用于确定待执行程序的执行逻辑;调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果;将测试结果返回至客户端,并在图形用户界面内展示测试结果。
207.可选地,上述处理器还可以执行如下步骤的程序代码:在对多个分布式任务进行并行处理的过程中,响应在客户端上通过图形用户界面执行的调整操作,更新待执行程序和/或多个分布式任务,其中,更新多个分布式任务包括以下至少之一:在多个分布式任务的基础上增加新的分布式任务、中止执行多个分布式任务中部分正在执行的分布式任务。
208.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收来自于客户端的云计算测试任务请求,其中,云计算测试任务请求中携带的信息包括:云计算测试任务指令;对云计算测试任务指令进行解析,生成待执行的多个分布式云计算任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式云计算任务,得到云计算测试结果。
209.可选地,上述处理器还可以执行如下步骤的程序代码:接收在客户端上通过图形用户界面上传的待执行云计算程序和待测试的云计算模型文件;接收在客户端上通过图形用户界面输入的云计算测试任务指令,其中,云计算测试任务指令包括:云计算执行参数,云计算执行参数用于确定待执行云计算程序的执行逻辑;调度部分或全部执行节点利用待执行云计算程序、待执行云计算程序的执行逻辑和待测试的云计算模型文件并行处理多个
分布式云计算任务,得到云计算测试结果;将云计算测试结果返回至客户端,并在图形用户界面内展示云计算测试结果。
210.处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收来自于客户端的电力能源测试任务请求,其中,电力能源测试任务请求中携带的信息包括:电力能源测试任务指令;对电力能源测试任务指令进行解析,生成待执行的多个分布式电力能源任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式电力能源任务,得到电力能源测试结果。
211.在本发明实施例中,首先接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令,通过对测试任务指令进行解析,生成待执行的多个分布式任务,采用调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务的方法,得到测试结果。
212.容易注意到的是,通过本技术实施例,基于客户端发出的测试任务请求进行解析,进而通过调度操作执行测试并获得测试结果,达到了通过解析操作和调度操作在优化求解器测试中实现多机并行的目的,从而实现了减少优化求解器测试时间、提高优化求解器测试效率的技术效果,进而解决了相关技术使用单机串行的方式进行求解器测试的处理方法其测试效率较低的技术问题。
213.本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
214.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
215.根据本发明实施例,还提供了一种计算机可读存储介质的实施例。可选地,在本实施例中,上述计算机可读存储介质可以用于保存上述实施例1所提供的处理测试任务的方法所执行的程序代码。
216.可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
217.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
218.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:
219.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的测试任务请求,其中,测试任务请求中携带的信息包括:测试任务指令;对测试任务指令进行解析,生成待执行的多个分布式任务;调度目标分布式集
群中的部分或全部执行节点并行处理多个分布式任务,得到测试结果。
220.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:对测试任务指令进行解析,得到解析结果,其中,解析结果包括:第一信息、第二信息和第三信息,第一信息用于确定待执行程序、第二信息用于确定待执行程序的执行逻辑、第三信息用于确定待测试的模型文件;基于第一信息、第二信息和第三信息,将测试任务指令扩展成多个子命令;利用多个子命令生成多个分布式任务。
221.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:将解析结果存储至第一存储区域,其中,第一存储区域采用表格形式存储数据;响应于新增任务查询请求,当确定从第一存储区域查询到解析结果时,将多个分布式任务关联的参数信息存储至第二存储区域,其中,第二存储区域采用内存形式存储数据,参数信息包括:第一信息、第二信息、第三信息、第四信息和第五信息,第四信息用于确定多个分布式任务的任务标识,第五信息用于确定多个分布式任务的任务超时时间。
222.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:确定目标分布式集群中的可用执行节点数量和多个分布式任务的待使用计算资源;基于可用执行节点数量和待使用计算资源从目标分布式集群中选取部分或全部执行节点。
223.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:从第二存储区域获取参数信息;通过参数信息确定待执行程序、待执行程序的执行逻辑和待测试的模型文件;基于多个分布式任务中每个分布式任务对应的执行环境,调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果。
224.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:将测试结果中的第一数据存储至第三存储区域,以及将测试结果中的第二数据存储至第二存储区域,其中,第三存储区域采用文件形式存储数据,第一数据为测试结果中的非结构化数据,第二数据为测试结果中的结构化数据。
225.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:响应于测试结果更新消息,将第二数据从第二存储区域转存至第一存储区域;从第一存储区域查询第二数据,并将第二数据反馈至客户端。
226.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收在客户端上通过图形用户界面上传的待执行程序和待测试的模型文件;接收在客户端上通过图形用户界面输入的测试任务指令,其中,测试任务指令包括:执行参数,执行参数用于确定待执行程序的执行逻辑;调度部分或全部执行节点利用待执行程序、待执行程序的执行逻辑和待测试的模型文件并行处理多个分布式任务,得到测试结果;将测试结果返回至客户端,并在图形用户界面内展示测试结果。
227.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:在对多个分布式任务进行并行处理的过程中,响应在客户端上通过图形用户界面执行的调整操作,更新待执行程序和/或多个分布式任务,其中,更新多个分布式任务包括以下至少之一:在多个分布式任务的基础上增加新的分布式任务、中止执行多个分布式任务中部分正在执行的分布式任务。
228.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的云计算测试任务请求,其中,云计算测试任务请求中携带的信息包括:云计算测试任务指令;对云计算测试任务指令进行解析,生成待执行的多个分布式云计算任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式云计算任务,得到云计算测试结果。
229.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收在客户端上通过图形用户界面上传的待执行云计算程序和待测试的云计算模型文件;接收在客户端上通过图形用户界面输入的云计算测试任务指令,其中,云计算测试任务指令包括:云计算执行参数,云计算执行参数用于确定待执行云计算程序的执行逻辑;调度部分或全部执行节点利用待执行云计算程序、待执行云计算程序的执行逻辑和待测试的云计算模型文件并行处理多个分布式云计算任务,得到云计算测试结果;将云计算测试结果返回至客户端,并在图形用户界面内展示云计算测试结果。
230.可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于客户端的电力能源测试任务请求,其中,电力能源测试任务请求中携带的信息包括:电力能源测试任务指令;对电力能源测试任务指令进行解析,生成待执行的多个分布式电力能源任务;调度目标分布式集群中的部分或全部执行节点并行处理多个分布式电力能源任务,得到电力能源测试结果。
231.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
232.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
233.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
234.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
235.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
236.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存
储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
237.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献