任务处理方法、装置、设备及存储介质与流程

文档序号:31319058发布日期:2022-08-31 01:31阅读:91来源:国知局
任务处理方法、装置、设备及存储介质与流程

1.本文件涉及计算机软件测试技术领域,尤其涉及一种任务处理方法、装置、设备及存储介质。


背景技术:

2.在存在多个任务的情况下,通过服务器和多个执行设备来执行多个任务的应用非常广泛,例如,利用服务器和多个测试终端执行多个测试任务,以实现对应用软件的自动化测试。
3.在该自动化测试的场景下,通常利用指定的测试终端来执行指定的测试任务,易造成测试终端的资源浪费,使得整体的任务执行效率低下。


技术实现要素:

4.本发明实施例的目的是提供一种任务处理方法、装置、设备及存储介质,以解决如何在存在多个任务的情况下提高整体的任务执行效率的问题。
5.为解决上述技术问题,本发明实施例是这样实现的:
6.第一方面,本发明实施例提供了一种任务处理方法,该方法包括:
7.获取多个未完成任务的执行设备列表;
8.根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;
9.若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;
10.根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;
11.根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
12.第二方面,本发明实施例提供了一种任务处理装置,该装置包括:
13.列表获取模块,用于获取多个未完成任务的执行设备列表;
14.设备判断模块,用于根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;
15.若存在,则运行任务确定模块,任务确定模块用于在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;
16.数量确定模块,用于根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;
17.顺序确定模块,用于根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
18.第三方面,本发明实施例提供了一种任务处理设备,包括:存储器、处理器所述存储器上存储有计算机可执行指令,所述计算机可执行指令在被处理器执行时,能够实现上
述第一方面所述的任务处理方法。
19.第四方面,本发明实施例提供了一种存储介质,该存储介质中存储有计算机可执行指令,该计算机可执行指令在被处理器执行时实现如上述第一方面所述的任务处理方法。
20.根据本发明实施例的技术方案,首先,获取多个未完成任务的执行设备列表;其次,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;接着,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;最后,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。通过本发明实施例的技术方案,能够在存在多个未完成任务的情况下,通过优化目标任务的执行顺序,提高整体的任务执行效率。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本发明一实施例提供的一种任务处理方法的流程示意图;
23.图2为本发明一实施例提供的应用于自动化测试的场景的任务处理装置的结构示意图;
24.图3为本发明一实施例提供的一种任务处理装置的示意框图;
25.图4为本发明一实施例提供的一种任务处理设备的结构示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.图1为本发明一实施例提供的一种任务处理方法的流程示意图。
28.参照图1所示,该任务处理方法包括步骤s102、步骤s104、步骤s106、步骤s108以及步骤s110。下面对图1的示例实施例中的任务处理方法进行详细的说明。
29.如图1所示的示例实施例中的任务处理方法可以由服务器执行,也可以由智能终端执行。前述智能终端包括且不限于手机、平板电脑、电脑、可穿戴设备等终端设备。
30.在一些实施例中,执行前述任务处理方法的服务器可以与一个或多个执行设备通信连接。在另一些实施例中,执行前述任务处理方法的服务器也可以与一个或多个代理服务器通信连接,各个代理服务器可以与一个或多个执行设备通信连接。
31.步骤s102,获取多个未完成任务的执行设备列表。
32.未完成任务可以是未启动执行的任务;该未完成任务也可以是已启动执行但尚未
执行完成的任务。本实施例中的未完成任务,均指的是需要通过执行设备执行的任务,该执行设备包括且不限于手机、平板电脑、电脑、可穿戴设备等智能终端。该未完成任务可以是应用程序测试任务,也可以是数据处理任务,还可以是图像分析任务,此处不再一一列举。该未完成任务可以是可拆分为多个部分的任务,也可以是不可拆分的任务。
33.下文以未完成任务为app(application,应用程序)的测试任务为例,进行说明:对于一个app的测试任务,测试人员通过脚本录制工具记录对app的测试操作,生成测试脚本,然后将测试脚本在指定的测试终端中进行回放,实现对app在测试终端中的自动化测试。测试脚本中预先配置测试终端的信息。测试脚本中记录有对app界面中的控件元素进行测试操作的事件,例如,在游戏1的游戏界面中对小鸟执行的点击操作。
34.前述的获取多个未完成任务的执行设备列表,可以是获取多个未启动执行的任务的执行设备列表,也可以获取至少一个未启动执行的任务的执行设备列表和至少一个已启动执行但尚未执行完成的任务的执行设备列表,还可以是获取多个已启动执行但尚未执行完成的任务的执行设备列表。
35.未完成任务的执行设备列表包括且不限于:用于执行该未完成任务的至少一个执行设备以及各个执行设备的设备参数。设备参数,例如,执行设备所应用的系统、执行设备的品牌、系统版本、屏幕分辨率、执行设备所采用的网络连接形式、可用内存、可用硬盘等。
36.可选的,未完成任务包括待执行任务;获取多个未完成任务的执行设备列表,包括:获取各个待执行任务的任务执行请求;任务执行请求携带有与待执行任务对应的设备配置需求信息;根据任务执行请求携带的设备配置需求信息,从预设执行设备列表中筛选得到用于执行待执行任务的执行设备;根据筛选得到的执行设备,构建待执行任务的执行设备列表。
37.待执行任务,即未启动执行的任务。与待执行任务对应的设备配置需求信息,指的是,用于执行该待执行任务的执行设备的设备配置需求信息。
38.设备配置需求信息包括:终端参数和/或任务需求参数。其中,终端参数可以用于确定该执行设备的终端类型,任务需求参数可以是支持该待执行任务在该执行设备上运行的最低的终端性能配置参数。
39.前述的终端参数包括且不限于执行设备所应用的系统,执行设备的品牌、系统版本、屏幕分辨率、执行设备所采用的网络连接形式。其中,执行设备所应用的系统可以是ios或者安卓等,执行设备所采用的网络连接形式可以是4g或者wifi等,此处不再一一列举。该终端参数,可以由发起该待执行任务的用户指定,也可以通过预先设置的任务处理规则确定,本技术不对该终端参数的来源进行特殊限定。
40.前述的任务需求参数包括且不限于最小内存参数、最小硬盘参数。例如,任务1的最小内存参数为7g,预设执行设备列表包括多台手机,则可用内存大于7g的手机才能够运行该任务1,可用内存小于7g的手机无法作为用于执行该任务1的执行设备。
41.在一个实施例中,设备配置需求信息包括终端参数和任务需求参数。根据任务执行请求携带的设备配置需求信息,从预设执行设备列表中筛选得到用于执行待执行任务的执行设备的过程如下:
42.(a1)从预设执行设备列表中获取预设的多个候选执行设备以及对应的设备参数。
43.(a2)根据设备配置需求信息中的终端参数,在设备参数中确定对应的第一目标参
数。将第一目标参数与该终端参数相匹配的候选执行设备确定为第一候选设备。
44.例如,针对任务1的任务执行请求,该任务执行请求携带的设备配置需求信息包括执行设备所应用的系统ios。预设执行设备列表包括候选执行设备1、候选执行设备2、候选执行设备3以及候选执行设备4,且候选执行设备1所应用的系统为ios,候选执行设备2所应用的系统为android,候选执行设备3所应用的系统为ios,候选执行设备4所应用的系统为ios。候选执行设备1、候选执行设备3、候选执行设备4均应用于ios系统,则将候选执行设备1、候选执行设备3以及候选执行设备4确定为第一候选设备。
45.(a3)根据设备配置需求信息中的任务需求参数,在设备参数中确定对应的第二目标参数。将第二目标参数与该任务需求参数的比较结果符合预设条件的候选执行设备确定为第二候选设备。
46.例如,针对任务1的任务执行请求,该任务执行请求携带的设备配置需求信息包括执行最小内存参数7g。预设执行设备列表包括候选执行设备1、候选执行设备2、候选执行设备3以及候选执行设备4,且候选执行设备1的可用内存为5g,候选执行设备2的可用内存为10g,候选执行设备3的可用内存为8g,候选执行设备4的可用内存为12g。候选执行设备2、候选执行设备3以及候选执行设备4均满足可用内存大于该最小内存参数7g,则将候选执行设备2、候选执行设备3以及候选执行设备4确定为第二候选设备。
47.(a4)若第一候选设备与第二候选设备之间存在交集,则根据该交集确定用于执行待执行任务的执行设备。
48.例如,第一候选设备包括候选执行设备1、候选执行设备3以及候选执行设备4,第二候选设备包括候选执行设备2、候选执行设备3以及候选执行设备4,则第一候选设备与第二候选设备之间的交集包括候选执行设备3和候选执行设备4,将该候选执行设备3和候选执行设备4确定为用于执行任务1的执行设备。
49.需要注意的是,在前述(a1)-(a4)的多个步骤中,可以同时执行步骤(a2)与步骤(a3);也可以先执行步骤(a2),再执行步骤(a3);还可以先执行步骤(a3),再执行步骤(a2)。
50.下文以待执行任务为测试任务为例,进行陈述:用户发起多个测试任务,用户在发起测试任务时指定用于确定执行该测试任务的测试终端的终端类型的终端参数和支持待测试的app在测试终端上运行的最低的终端性能配置参数。服务器接收到用户发起的测试任务1、测试任务2以及测试任务3,根据各个测试任务的任务执行请求中携带的终端参数和终端性能配置参数,从数据库存储的预设执行设备列表中筛选得到符合要求的各个测试任务的执行设备列表:执行设备列表1,执行设备列表2和执行设备列表3。
51.在一个实施例中,未完成任务包括待执行任务和执行中任务。获取执行中任务的执行设备列表,可以获取该执行中任务在启动执行之前构建的执行设备列表,也可以通过与前述的获取多个待执行任务的执行设备列表的实施例类似的方式构建该执行中任务对应的执行设备列表。获取待执行任务的执行设备列表的过程与前述的获取多个待执行任务的执行设备列表的实施例类似,此处不再赘述。
52.例如,服务器在时间点1获取任务1、任务2、任务3,在时间点2获取任务4,时间点1早于时间点2。则服务器在时间点1为任务1、任务2、任务3分别构建对应的执行设备列表,在服务器工作一段时间后,到达时间点2。此时,任务1已执行完成,任务2执行了一部分,任务3执行了一部分,服务器为任务4构建对应的执行设备列表,并且,服务器获取未完成执行的
任务2和任务3的执行设备列表。
53.具体实施时,获取至少一个待执行任务和至少一个执行中任务的执行设备列表的场景,例如,当服务器获取新的待执行任务时,需要确定该待执行任务与尚未完成执行的执行中任务的执行顺序,进而确定是否需要暂停执行中任务并优先执行该新的待执行任务。
54.在另一个实施例中,未完成任务包括执行中任务。获取执行中任务的执行设备列表,可以获取该执行中任务在启动执行之前构建的执行设备列表,也可以通过与前述的获取多个待执行任务的执行设备列表的实施例类似的方式构建该执行中任务对应的执行设备列表,此处不再赘述。
55.在获取获取执行中任务的执行设备列表之前,可以执行如下步骤:获取各个所述执行中任务的执行顺序确定请求。
56.具体实施时,获取各个所述执行中任务的执行顺序确定请求的应用场景,例如,执行设备1同时执行多个任务,用户认为任务处理效率低下,需要调整任务执行方式,决定将同时执行多个任务的任务执行方式切换为执行单个任务的任务执行方式。在切换任务执行方式之后,需要确定该多个任务的执行顺序。
57.步骤s104,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备。若存在用于执行多个任务的第一设备,则执行步骤s106。
58.在一个实施例中,多个未完成任务均为待执行任务。则判断各个待执行任务中任意两个待执行任务的执行设备列表之间是否存在交集,若存在,则根据该交集确定用于执行两个任务的第三候选设备;若不存在,则确定不存在用于执行多个任务的第一设备。在确定第三候选设备之后,对该第三候选设备进行去重操作,得到用于执行多个任务的第一设备。
59.例如,
60.任务1的执行设备列表包括:
61.执行设备1、执行设备2、执行设备3以及执行设备4;
62.任务2的执行设备列表包括:
63.执行设备2、执行设备3、执行设备5以及执行设备6;
64.任务3的执行设备列表包括:
65.执行设备2、执行设备6、执行设备7。
66.确定任务1与任务2的执行设备列表之间的交集为执行设备2和执行设备3;
67.确定任务1与任务3的执行设备列表之间的交集为执行设备2;
68.确定任务2与任务3的执行设备列表之间的交集为执行设备2和执行设备6。
69.根据交集确定第三候选设备包括:执行设备2、执行设备3、执行设备2、执行设备2以及执行设备6。
70.对该第三候选设备进行去重操作后,得到执行多个任务的第一设备:执行设备2、执行设备3以及执行设备6。其中,执行设备2用于执行任务1、任务2以及任务3,执行设备3用于执行任务1和任务2,执行设备6用于执行任务2和任务3。
71.具体实施时,以测试任务为例进行说明:获取测试任务1的执行设备列表list1,测试任务2的执行设备列表list2以及测试任务3的执行设备列表list3。比对list1与list2中的测试终端,对list1进行遍历,判断list1中每一个元素是否出现在list2中,如果出现,将
对应元素放到x中,使用python执行如下语句:
72.x=[kfork in list2 if k in list1]
[0073]
执行完后若x不为空,则说明list1和list2之间有交集,存在执行设备资源冲突;执行完后若x为空,则说明list1和list2之间没有交集,不存在执行设备资源冲突。需要注意的是,在测试任务的应用场景中,默认各个测试终端同一时间仅执行一个测试任务,因此,当同一测试终端位于多个测试任务的执行设备列表中时,视为该测试终端对应的多个测试任务之间存在执行设备资源冲突。
[0074]
若各个待完成任务之间不存在执行设备资源冲突,即不存在用于执行多个任务的第一设备,则获取各个待完成任务的任务量。针对任一待完成任务,根据该待完成任务的任务量,确定用于执行该待完成任务的第五设备对应的平均任务量。根据该平均任务量,将该待完成任务拆分为多个待完成子任务,并基于该第五设备执行各个待完成子任务。
[0075]
待完成任务包括待完成测试任务。获取各个待完成任务的任务量,包括:针对任一待完成测试任务,获取待完成测试任务的测试脚本;确定测试脚本中所包括的测试用例的数量;根据测试用例的数量,确定待完成测试任务的任务量。
[0076]
具体实施时,例如,服务器执行测试用例总数计算程序,获取测试任务1、测试任务2以及测试任务3的测试脚本,遍历各个测试脚本中的内容,通过搜索符合预设的测试用例标识的文本,计算出各个测试脚本所包括的测试用例的数量testcase1,testcase2,testcase3,并将各个测试脚本所包括的测试用例归集成测试用例集合testsuite1、testsuite2、testsuite3。对任一测试任务,将该测试任务的测试脚本所包括的测试用例的数量作为该测试任务的任务量。即,测试任务1的任务量为testcase1,测试任务2的任务量为testcase2,测试任务3的任务量为testcase3。
[0077]
针对任一待完成任务,根据该待完成任务的任务量,确定用于执行该待完成任务的第五设备对应的平均任务量,包括:针对任一待完成任务,根据多个待完成任务的执行设备列表,确定用于执行该待完成任务的第五设备的数量。根据该待完成任务的任务量与第五设备的数量,确定第五设备对应的平均任务量。
[0078]
具体实施时,例如,在获取测试任务1的执行设备列表list1、测试任务2的执行设备列表list2、测试任务3的执行设备列表list3,且获取测试任务1的任务量testcase1,测试任务2的任务量testcase2,测试任务3的任务量testcase3。针对测试任务1,确定与list1对应的用于执行测试任务1的第五设备的数量为phonenum1;针对测试任务2,确定与list2对应的用于执行测试任务2的第五设备的数量为phonenum2;针对测试任务3,确定与list3对应的用于执行测试任务3的第五设备的数量为phonenum3。则用于执行测试任务1的第五设备对应的平均任务量为n1=testcase1/phonenum1;用于执行测试任务2的第五设备对应的平均任务量为n2=testcase2/phonenum2;用于执行测试任务3的第五设备对应的平均任务量为n3=testcase3/phonenum3。
[0079]
根据该平均任务量,将该待完成任务拆分为多个待完成子任务,并基于该第五设备执行各个待完成子任务,例如,用于执行测试任务1的第五设备对应的平均任务量为n1;用于执行测试任务2的第五设备对应的平均任务量为n2;用于执行测试任务3的第五设备对应的平均任务量为n3,根据平均任务量,将前述的各个测试脚本所包括的测试用例归集成的测试用例集合testsuite1、testsuite2、testsuite3进行拆分。
[0080]
以测试任务1为例,根据执行测试任务1的第五设备对应的平均任务量n1,把testsuite1划分为testcasesuite1、testcasesuite2、testcasesuite3、...、testcasesuiten1;最后,把拆分后的测试用例集testcasesuite1、testcasesuite2、testcasesuite3、...、testcasesuiten1依次分配到list1中的各个第五设备,如phone1、phone2、

、phonen1上执行。此时,phone1执行测试用例集testcasesuite1,phone2执行测试用例集testcasesuite2,

,phonen1执行测试用例集testcasesuiten1。测试执行完成后,会执行测试报告生成程序,生成一份全量用例测试报告,包含全部用例执行步骤明细,并且能够区分出测试用例是在哪一个第五设备上执行的。其他测试任务与测试任务1类似,此处不再赘述。
[0081]
在另一个实施例中,多个未完成任务均为执行中任务。该实施例中判断是否存在用于执行多个任务的第一设备的过程与多个未完成任务均为待执行任务的实施例类似,此处不再赘述。
[0082]
在又一个实施例中,多个未完成任务包括至少一个待执行任务和至少一个执行中任务。该实施例与前述的多个未完成任务均为待执行任务的实施例存在如下区别:
[0083]
当多个未完成任务既包括待执行任务,又包括执行中任务时,用于执行多个执行中任务的第六设备可能是已知的,无需重复判断,服务器可以从本地获取多个执行中任务中任意两个执行中任务的执行设备列表之间的交集,或者,从本地获取用于执行多个执行中任务的第六设备。分别判断待执行任务与各个执行中任务的执行设备列表之间是否存在交集。根据判断结果和第六设备确定是否存在用于执行多个任务的第一设备。
[0084]
其中,获取第六设备的步骤与判断步骤可以同时进行,也可以先获取第六设备,再执行判断步骤,还可以先执行判断步骤,再获取第六设备。
[0085]
例如,服务器在时间点1获取任务1、任务2、任务3,在时间点2获取任务4,时间点1早于时间点2。则服务器在时间点1确定执行设备1用于执行任务1和任务2,执行设备2用于执行任务2和任务3,在服务器工作一段时间后,到达时间点2。此时,任务1已执行完成,任务2执行了一部分,任务3执行了一部分,则服务器从本地获取任务2与任务3的执行设备列表之间的交集,即执行设备2,判断任务2与任务4的执行设备列表之间是否存在交集,判断任务3与任务4的执行设备列表之间是否存在交集,根据执行设备2和前述的两个判断结果,确定执行设备2和执行设备3用于执行多个任务。
[0086]
判断待执行任务与各个执行中任务的执行设备列表之间是否存在交集的过程与前述的多个未完成任务均为待执行任务的实施例类似,此处不再赘述。
[0087]
步骤s106,在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量。
[0088]
第一设备用于执行多个任务,则目标任务指的是该第一设备被分配执行的各个未完成任务。目标任务的任务量,可以是该目标任务未执行的任务量。
[0089]
可选的,目标任务包括测试任务;获取各个目标任务的任务量,包括:针对任一测试任务,获取测试任务的测试脚本;确定测试脚本中所包括的未被执行的测试用例的数量;根据未被执行的测试用例的数量,确定测试任务的任务量。
[0090]
具体实施时,例如,服务器执行测试用例总数计算程序,获取测试任务1、测试任务2以及测试任务3的测试脚本,遍历各个测试脚本中的内容,通过搜索符合预设的测试用例
标识的文本,计算出各个测试脚本所包括的测试用例的数量testcase1,testcase2,testcase3,并将各个测试脚本所包括的测试用例归集成测试用例集合testsuite1、testsuite2、testsuite3。若该测试任务未启动,则将该测试任务的测试脚本所包括的测试用例的数量作为该测试任务的任务量,若该测试任务已启动执行但尚未执行完成,则从用于执行该测试任务的各个测试终端中获取所有未执行的测试用例的数量,将该未执行的测试用例的数量作为该测试任务的任务量。以测试任务1和测试任务2为未启动执行且测试任务3已启动执行但尚未完成为例,测试任务1的任务量为testcase1,测试任务2的任务量为testcase2,测试任务3的任务量为用于执行该测试任务的各个测试终端返回的未执行的测试用例的总数testcase3’。
[0091]
步骤s108,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量。
[0092]
从获取的多个未完成任务的执行设备列表中确定各个目标任务的执行设备列表,针对任一目标任务,根据该目标任务的执行设备列表,确定用于执行该目标任务的第二设备。
[0093]
步骤s110,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
[0094]
当目标设备被分配执行多个目标任务时,为保证任务执行效率,本技术实施例中,根据各个目标任务的任务量和各个目标任务对应的执行设备数量对各个目标任务进行排序,得到各个目标任务的执行顺序,然后按照该执行顺序依次执行各个目标任务。
[0095]
在一个实施例中,目标设备在同一时间仅执行一个目标任务,且各个目标任务所需的执行时间长短不同,目标任务所需的执行时间可以由该目标任务的任务量和该目标任务对应的执行设备数量确定。根据该目标任务的执行时间,确定各个目标任务的执行顺序,使得执行时间短的目标任务先执行,执行时间长的目标任务后执行,从而缩短后执行的目标任务的等待时间,提高执行设备的利用率,在获取多个目标任务的情况下提高整体的任务执行效率。
[0096]
在另一个实施例中,目标设备可以并发执行多个目标任务,也可以在同一时间只执行一个目标任务,但并发执行多个目标任务可能会给目标设备带来更大的工作负担,反而降低了整体的任务执行效率,例如,使用下载软件下载文件时,受网络流量限制,同时下载5个文件可能会导致下载速度降低,使得完成5个文件的下载所消耗的时间反而多于分别下载5个文件的时间之和。因此,通过确定各个目标任务的执行顺序,能够在获取多个目标任务的情况下提高整体的任务执行效率。
[0097]
可选的,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序,包括:针对任一目标任务,根据目标任务的任务量和目标任务对应的执行设备数量,确定用于执行目标任务的第二设备所对应的平均任务量;根据各个目标任务的平均任务量的大小,确定各个目标任务的执行顺序。
[0098]
针对任一目标任务,根据目标任务的任务量和目标任务对应的执行设备数量,确定用于执行目标任务的第二设备所对应的平均任务量。
[0099]
具体实施时,例如,目标任务包括测试任务1、测试任务2以及测试任务3。测试任务1的任务量为testcase1,测试任务2的任务量为testcase2,测试任务3的任务量为
testcase3。用于执行测试任务1的第二设备的数量为phonenum1;用于执行测试任务2的第二设备的数量为phonenum2;用于执行测试任务3的第二设备的数量为phonenum3。则用于执行测试任务1的第二设备所对应的平均任务量为n1=testcase1/phonenum1;用于执行测试任务2的第二设备所对应的平均任务量为n2=testcase2/phonenum2;用于执行测试任务3的第二设备所对应的平均任务量为n3=testcase3/phonenum3。
[0100]
需要注意的是,此处的第二设备所对应的平均任务量,可以是第二设备被分配执行的实际任务量,也可以是仅用于作为目标任务的执行时间的参考依据,实际上并未按照该平均任务量拆分目标任务并分配到各个第二设备。
[0101]
根据各个目标任务的平均任务量的大小,确定各个目标任务的执行顺序。
[0102]
具体实施时,按照平均任务量的大小,对各个目标任务排序,使得平均任务量较小的目标任务在前,平均任务量较大的目标任务在后,将该排序结果作为各个目标任务的执行顺序。
[0103]
例如,用于执行测试任务1的第二设备所对应的平均任务量为n1,用于执行测试任务2的第二设备所对应的平均任务量为n2,用于执行测试任务3的第二设备所对应的平均任务量为n3,且n1》n2》n3,则测试任务1、测试任务2、测试任务3的执行顺序从先到后依次为:测试任务3,测试任务2,测试任务1。则先执行任务3,将测试任务3的任务量平均分成phonen3个测试用例集testsuite1,testsuite2,

,testsuiten3,并分配到list3中的各个第二设备上执行;测试任务3执行完毕,则继续执行测试任务2,将测试任务2的任务量平均分成phonen2个测试用例集,并分配到list2中的各个第二设备上执行;最后执行测试任务1,将测试任务1的任务量平均分成phonen1个测试用例集并分配到list1中的各个第二设备上执行。
[0104]
针对每个目标设备,确定该目标设备对应的各个目标任务的执行顺序。目标设备可能存在多个,每个目标设备均对应于一组目标任务。各组目标任务中可能存在重复的任务,由于目标任务的平均任务量和目标任务对应的执行设备数量不变,对各组目标任务排序,其排序结果不会发生冲突。
[0105]
需要注意的是,当两个目标任务所对应的目标设备不同时,即两个目标任务之间不存在执行设备资源冲突,该两个目标任务可以并行处理。
[0106]
例如,执行设备1所对应的目标任务包括任务1、任务2、任务3,执行设备2所对应的目标任务包括任务1、任务4,执行设备3所对应的目标任务包括任务2、任务5。通过本实施例的任务处理方法,确定任务1、任务2、任务3的执行顺序从先到后依次为:任务1、任务3、任务2,确定任务1、任务4的执行顺序从先到后依次为:任务1、任务4,确定任务2、任务5的执行顺序从先到后依次为任务2、任务5。则根据三组目标任务的执行顺序,确定5个任务的执行顺序为,先执行任务1,在任务1执行完成之后,执行任务3且执行任务4,在任务3执行完成之后,执行任务2,在任务2执行完成之后,执行任务5。
[0107]
需要注意的是,当两个目标任务所对应的目标设备不同时,即两个目标任务之间不存在执行设备资源冲突,该两个目标任务可以并行处理。
[0108]
例如,测试任务1与测试任务2为目标设备1所对应的目标任务,测试任务1与测试任务3为目标设备2所对应的目标任务。但测试任务2与测试任务3无关。测试任务1的第二设备所对应的平均任务量为n1,测试任务2的第二设备所对应的平均任务量为n2,测试任务3
的第二设备所对应的平均任务量为n3,且n1《n2《n3,则先执行测试任务1,将测试任务1的任务量平均分成phonen1个测试用例集testsuite1,testsuite2,

,testsuiten1,并分配到list1中的各个第二设备上执行;待测试任务1执行完成后,测试任务2和测试任务3之间不存在执行设备资源冲突,可以并发执行。
[0109]
可选的,目标任务包括已启动执行的第一任务和未启动执行的第二任务;在确定各个目标任务的执行顺序之后,任务处理方法还包括:若第一任务的执行顺序在第二任务之后,则中止执行第一任务,基于第二任务的执行设备列表执行第二任务;在第二任务执行完成之后,基于第一任务的执行设备列表继续执行第一任务。
[0110]
例如,在第一任务的执行过程中,获取第二任务的任务执行请求,则根据第一任务与第二任务的执行设备列表,判断是否存在用于执行多个任务的第一设备。若存在用于执行第一任务与第二任务的第一设备,即第一任务与第二任务之间存在执行设备资源冲突,则获取第一任务与第二任务的任务量,确定第一任务对应的执行设备数量和第二任务对应的执行设备数量。根据第一任务的任务量和执行设备数量、第二任务的任务量和执行设备数量,确定第一任务与第二任务的执行顺序。若第一任务的执行顺序在第二任务之后,则中止执行第一任务,通过第二任务的执行设备列表对应的各个第二设备执行第二任务;在第二任务执行完成之后,通过第一任务的执行设备列表对应的各个第二设备继续执行第一任务。
[0111]
可选的,在确定各个目标任务的执行顺序之后,任务处理方法还包括:根据执行顺序,执行各个目标任务;在目标任务的执行过程中,检测用于执行目标任务的各个第二设备的任务执行进度;根据任务执行进度,在各个第二设备之间进行任务调度。
[0112]
根据执行顺序,通过各个目标任务的执行设备列表所对应的第二设备执行各个目标任务。各个第二设备可以定时向服务器反馈该第二任务被分配到的拆分后得到的子任务的任务执行进度。也可以是服务器定时向各个第二设备请求该第二任务被分配到的拆分后得到的子任务的任务执行进度。
[0113]
通过在各个第二设备之间进行任务调度,能够提高第二设备的利用率,使得任务执行效率较高的第二设备分担一部分其他第二设备的工作量,进而提高整体的任务执行效率。
[0114]
可选的,根据任务执行进度,在各个第二设备之间进行任务调度,包括:若根据任务执行进度,确定各个第二设备中存在执行状态异常的第三设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转入任务设备,在第三设备和待转入任务设备之间进行任务调度;或者,若根据任务执行进度,确定各个第二设备中存在任务执行进度为执行完成的第四设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转出任务设备,在第四设备和待转出任务设备之间进行任务调度。
[0115]
根据任务执行进度,确定各个第二设备中存在执行状态异常的第三设备,可以是检测任务执行进度停滞的时间是否大于预设时长,若是,则将该任务执行进度对应的第二设备确定为存在执行状态异常的第三设备。
[0116]
在另一个实施例中,也可以是,各个第二设备实时监控任务执行状态,若检测到异常执行状态,则该检测到异常执行状态的第二设备向应用本技术实施例的任务处理方法的服务器发送异常状态信号,该服务器根据接收到的异常状态信号将对应的第二设备标记为
第三设备。
[0117]
根据各个第二设备的任务执行进度,在各个第二设备中确定待转入任务设备,可以是,当各个第二设备中存在执行状态异常的第三设备时,对各个第二设备的任务执行进度进行排序,根据排序结果,将任务执行进度最高的第二设备确定为待转入任务设备。
[0118]
在第三设备和待转入任务设备之间进行任务调度,例如,第三设备中未执行的测试用例数为x,将第三设备中的x个测试用例调度到待转入任务设备,并由该待转入任务设备执行。
[0119]
例如,若服务器检测到分配到第二设备的测试任务出现异常,卡死,终端中途掉线等情况,则服务器将该检测到异常的第二设备标记为第三设备。服务器获取该第三设备未执行的测试用例并归集成一个新的测试用例集;接着检查本测试任务其他的第二设备的任务执行进度,找出未执行的测试用例的数量最少的第二设备后,将该未执行的测试用例的数量最少的第二设备确定为待转入任务设备,向该待转入任务设备发送调度命令,将新的测试用例集发送到该待转入任务设备继续执行。
[0120]
在另一实施例中,也可以是,当第二设备的任务执行进度为执行完成时,该第二设备向应用本技术实施例的任务处理方法的服务器发送任务执行完成信号。
[0121]
若根据任务执行进度,确定各个第二设备中存在任务执行进度为执行完成的第四设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转出任务设备,指的是,若多个第二设备中有已经将被分配的拆分得到的子任务执行完毕的第二设备,则对各个第二设备的任务执行进度进行排序,根据排序结果,将任务执行进度最低的第二设备确定为待转出任务设备。
[0122]
在第四设备和待转出任务设备之间进行任务调度,例如,待转出任务设备中未执行的测试用例数为y,将待转出任务设备中的y/2个测试用例调度到第四设备,并由第四设备执行。
[0123]
例如,目标任务的执行过程中,若分配到某一第二设备的测试用例执行完成,则会通过二次调度服务给服务器发送任务执行完成信号,服务器在收到任务执行完成信号后,将该任务执行完成信号对应的第二设备标记为第四设备,检查本目标任务其他第二设备的任务执行进度,找出未执行的测试用例数最多的第二设备后,将该未执行的测试用例数最多的第二设备确定为待转出任务设备,向该待转出任务设备发送调度命令,将该该待转出任务设备未执行的测试用例数的一半划份为一个新的测试用例集,将该新的测试用例集分配到第四设备上。
[0124]
根据图1的示例实施例中的任务处理方法,首先,获取多个未完成任务的执行设备列表;其次,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;接着,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;最后,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。通过本发明实施例的技术方案,能够在存在多个未完成任务的情况下,通过优化目标任务的执行顺序,提高整体的任务执行效率。
[0125]
图2为本发明一实施例提供的应用于自动化测试的场景的任务处理装置的结构示意图。
[0126]
参照图2所示,当有测试终端202接入代理服务器204时,为每个测试终端202启动一个自动化测试服务,后文中统一称为appium服务,并指定端口号;在代理服务器上配置appium服务,并搭建设备管理服务,当设备管理服务程序监控到“adb devices”命令有新的状态为“device”的测试终端202接入时,则通过“appium-relaxed-security-p端口号”命令来启动一个appium服务,并指定端口号,首次有接入测试终端202时指定端口号为1000,后续新接入测试终端202,则端口号+1。前述的appium是一个自动化测试开源工具,支持ios平台和android平台上的原生应用,web应用和混合应用。
[0127]
在代理服务器204上接入n台测试终端202后,代理服务器204上会启动n个appium服务,指定的端口号为1000—1000+n,此时远程服务器206可以通过代理服务器204的ip、分配端口号以及测试终端标识控制测试终端202执行测试脚本。
[0128]
在代理服务器204上部署数据库服务,连接mysql数据库208,数据库服务负责向mysql数据库208对接入代理服务器204的测试终端202进行实时登记,包括终端品牌,终端型号,终端系统版本号,终端uid,执行状态等。
[0129]
在远程服务器206上搭建代理服务,用来接收用户210提交的测试任务,并与代理服务器204通信;搭建测试执行管理服务,该测试执行管理服务主要用来对测试任务进行分析,计算执行策略;搭建数据库服务,该mysql数据库208负责存储测试过程中产生的测试数据,包括执行过程中各个测试终端202的执行情况的实时登记;搭建文件管理服务,该文件管理服务负责生成和管理由测试数据生成的测试报告文件以及测试脚本管理。
[0130]
如图2所示的实施例提供的任务处理装置能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
[0131]
图3为本发明一实施例提供的一种任务处理装置的示意框图。
[0132]
参照图3所示,该任务处理装置包括:
[0133]
列表获取模块302,用于获取多个未完成任务的执行设备列表;
[0134]
设备判断模块304,用于根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;
[0135]
若存在,则运行任务确定模块306,任务确定模块用于在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;
[0136]
数量确定模块308,用于根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;
[0137]
顺序确定模块310,用于根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
[0138]
在本发明的一些实施例中,基于上述方案,目标任务包括测试任务;任务确定模块306,具体用于:
[0139]
针对任一测试任务,获取测试任务的测试脚本;
[0140]
确定测试脚本中所包括的未被执行的测试用例的数量;
[0141]
根据未被执行的测试用例的数量,确定测试任务的任务量。
[0142]
在本发明的一些实施例中,基于上述方案,顺序确定模块310,具体用于:
[0143]
针对任一目标任务,根据目标任务的任务量和目标任务对应的执行设备数量,确定用于执行目标任务的第二设备所对应的平均任务量;
[0144]
根据各个目标任务的平均任务量的大小,确定各个目标任务的执行顺序。
[0145]
在本发明的一些实施例中,基于上述方案,未完成任务包括待执行任务;列表获取模块302,具体用于:
[0146]
获取各个待执行任务的任务执行请求;任务执行请求携带有与待执行任务对应的设备配置需求信息;
[0147]
根据任务执行请求携带的设备配置需求信息,从预设执行设备列表中筛选得到用于执行待执行任务的执行设备;
[0148]
根据筛选得到的执行设备,构建待执行任务的执行设备列表。
[0149]
在本发明的一些实施例中,基于上述方案,目标任务包括已启动执行的第一任务和未启动执行的第二任务;任务处理装置,还包括:
[0150]
第一任务中止模块,用于若第一任务的执行顺序在第二任务之后,则中止执行第一任务,基于第二任务的执行设备列表执行第二任务;
[0151]
第一任务执行模块,用于在第二任务执行完成之后,基于第一任务的执行设备列表继续执行第一任务。
[0152]
在本发明的一些实施例中,基于上述方案,任务处理装置,还包括:
[0153]
目标任务执行模块,用于根据执行顺序,执行各个目标任务;
[0154]
进度检测模块,用于在目标任务的执行过程中,检测用于执行目标任务的各个第二设备的任务执行进度;
[0155]
任务调度模块,用于根据任务执行进度,在各个第二设备之间进行任务调度。
[0156]
在本发明的一些实施例中,基于上述方案,任务调度模块,具体用于:
[0157]
若根据任务执行进度,确定各个第二设备中存在执行状态异常的第三设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转入任务设备,在第三设备和待转入任务设备之间进行任务调度;
[0158]
或者,
[0159]
若根据任务执行进度,确定各个第二设备中存在任务执行进度为执行完成的第四设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转出任务设备,在第四设备和待转出任务设备之间进行任务调度。
[0160]
根据本发明实施例的技术方案,首先,获取多个未完成任务的执行设备列表;其次,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;接着,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;最后,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。通过本发明实施例的技术方案,能够在存在多个未完成任务的情况下,通过优化目标任务的执行顺序,提高整体的任务执行效率。
[0161]
本发明一实施例提供的任务处理装置能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
[0162]
进一步地,本技术实施例还提供了一种任务处理设备,图4为本发明一实施例提供的一种任务处理设备的结构示意图,如图4所示,该设备包括存储器401、处理器402、总线403和通信接口404。存储器401、处理器402和通信接口404通过总线403进行通信,通信接口
404可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
[0163]
图4中,存储器401上存储有计算机可执行指令,该计算机可执行指令在被处理器402执行时,能够实现以下流程:
[0164]
获取多个未完成任务的执行设备列表;
[0165]
根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;
[0166]
若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;
[0167]
根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;
[0168]
根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
[0169]
可选的,该计算机可执行指令在被处理器402执行时,目标任务包括测试任务;获取各个目标任务的任务量,包括:
[0170]
针对任一测试任务,获取测试任务的测试脚本;
[0171]
确定测试脚本中所包括的未被执行的测试用例的数量;
[0172]
根据未被执行的测试用例的数量,确定测试任务的任务量。
[0173]
可选的,该计算机可执行指令在被处理器402执行时,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序,包括:
[0174]
针对任一目标任务,根据目标任务的任务量和目标任务对应的执行设备数量,确定用于执行目标任务的第二设备所对应的平均任务量;
[0175]
根据各个目标任务的平均任务量的大小,确定各个目标任务的执行顺序。
[0176]
可选的,该计算机可执行指令在被处理器402执行时,未完成任务包括待执行任务;获取多个未完成任务的执行设备列表,包括:
[0177]
获取各个待执行任务的任务执行请求;任务执行请求携带有与待执行任务对应的设备配置需求信息;
[0178]
根据任务执行请求携带的设备配置需求信息,从预设执行设备列表中筛选得到用于执行待执行任务的执行设备;
[0179]
根据筛选得到的执行设备,构建待执行任务的执行设备列表。
[0180]
可选的,该计算机可执行指令在被处理器402执行时,目标任务包括已启动执行的第一任务和未启动执行的第二任务;在确定各个目标任务的执行顺序之后,还包括:
[0181]
若第一任务的执行顺序在第二任务之后,则中止执行第一任务,基于第二任务的执行设备列表执行第二任务;
[0182]
在第二任务执行完成之后,基于第一任务的执行设备列表继续执行第一任务。
[0183]
可选的,该计算机可执行指令在被处理器402执行时,在确定各个目标任务的执行顺序之后,方法还包括:
[0184]
根据执行顺序,执行各个目标任务;
[0185]
在目标任务的执行过程中,检测用于执行目标任务的各个第二设备的任务执行进度;
[0186]
根据任务执行进度,在各个第二设备之间进行任务调度。
[0187]
可选的,该计算机可执行指令在被处理器402执行时,根据任务执行进度,在各个第二设备之间进行任务调度,包括:
[0188]
若根据任务执行进度,确定各个第二设备中存在执行状态异常的第三设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转入任务设备,在第三设备和待转入任务设备之间进行任务调度;
[0189]
或者,
[0190]
若根据任务执行进度,确定各个第二设备中存在任务执行进度为执行完成的第四设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转出任务设备,在第四设备和待转出任务设备之间进行任务调度。
[0191]
根据本发明实施例的技术方案,首先,获取多个未完成任务的执行设备列表;其次,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;接着,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;最后,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。通过本发明实施例的技术方案,能够在存在多个未完成任务的情况下,通过优化目标任务的执行顺序,提高整体的任务执行效率。
[0192]
本技术实施例提供的任务处理设备能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
[0193]
进一步地,本发明实施例还提供一种存储介质,该存储介质中存储有计算机可执行指令,该计算机可执行指令在被处理器402执行时,能够实现以下流程:
[0194]
获取多个未完成任务的执行设备列表;
[0195]
根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;
[0196]
若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;
[0197]
根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;
[0198]
根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。
[0199]
可选的,该计算机可执行指令在被处理器402执行时,目标任务包括测试任务;获取各个目标任务的任务量,包括:
[0200]
针对任一测试任务,获取测试任务的测试脚本;
[0201]
确定测试脚本中所包括的未被执行的测试用例的数量;
[0202]
根据未被执行的测试用例的数量,确定测试任务的任务量。
[0203]
可选的,该计算机可执行指令在被处理器402执行时,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序,包括:
[0204]
针对任一目标任务,根据目标任务的任务量和目标任务对应的执行设备数量,确定用于执行目标任务的第二设备所对应的平均任务量;
[0205]
根据各个目标任务的平均任务量的大小,确定各个目标任务的执行顺序。
[0206]
可选的,该计算机可执行指令在被处理器402执行时,未完成任务包括待执行任务;获取多个未完成任务的执行设备列表,包括:
[0207]
获取各个待执行任务的任务执行请求;任务执行请求携带有与待执行任务对应的设备配置需求信息;
[0208]
根据任务执行请求携带的设备配置需求信息,从预设执行设备列表中筛选得到用于执行待执行任务的执行设备;
[0209]
根据筛选得到的执行设备,构建待执行任务的执行设备列表。
[0210]
可选的,该计算机可执行指令在被处理器402执行时,目标任务包括已启动执行的第一任务和未启动执行的第二任务;在确定各个目标任务的执行顺序之后,还包括:
[0211]
若第一任务的执行顺序在第二任务之后,则中止执行第一任务,基于第二任务的执行设备列表执行第二任务;
[0212]
在第二任务执行完成之后,基于第一任务的执行设备列表继续执行第一任务。
[0213]
可选的,该计算机可执行指令在被处理器402执行时,在确定各个目标任务的执行顺序之后,方法还包括:
[0214]
根据执行顺序,执行各个目标任务;
[0215]
在目标任务的执行过程中,检测用于执行目标任务的各个第二设备的任务执行进度;
[0216]
根据任务执行进度,在各个第二设备之间进行任务调度。
[0217]
可选的,该计算机可执行指令在被处理器402执行时,根据任务执行进度,在各个第二设备之间进行任务调度,包括:
[0218]
若根据任务执行进度,确定各个第二设备中存在执行状态异常的第三设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转入任务设备,在第三设备和待转入任务设备之间进行任务调度;
[0219]
或者,
[0220]
若根据任务执行进度,确定各个第二设备中存在任务执行进度为执行完成的第四设备,则根据各个第二设备的任务执行进度,在各个第二设备中确定待转出任务设备,在第四设备和待转出任务设备之间进行任务调度。
[0221]
根据本发明实施例的技术方案,首先,获取多个未完成任务的执行设备列表;其次,根据多个未完成任务的执行设备列表,判断是否存在用于执行多个任务的第一设备;若存在,则在多个未完成任务中确定第一设备对应执行的各个目标任务,获取各个目标任务的任务量;接着,根据多个未完成任务的执行设备列表,确定各个目标任务对应的执行设备数量;最后,根据各个目标任务的任务量和各个目标任务对应的执行设备数量,确定各个目标任务的执行顺序。通过本发明实施例的技术方案,能够在存在多个未完成任务的情况下,通过优化目标任务的执行顺序,提高整体的任务执行效率。
[0222]
本发明一实施例提供的存储介质能够实现前述任务处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
[0223]
其中,该存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0224]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排
他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0225]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明上述实施例的方法。
[0226]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1