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

阅读: 评论:0



1.本发明涉及无线技术领域,尤其涉及一种任务执行方法、装置、设备及存储介质。


背景技术:



2.目前,在大规模任务计算场景中,可以通过集中式计算方式,例如,采用超级计算机来解决庞大计算量的计算问题。还可以通过分布式计算,将众多中等性能的工作站、主机和个人计算机等联合起来,形成一个巨大的计算池,来满足了巨大计算能力的需求。但是,超级计算机的造价极高,而且,大量计算任务由设备进行集中处理,对计算机造成很大的数据存储与计算压力。在分布式计算中,云端进行任务分配时多从系统的角度出发,无法实现灵活调度,影响了计算任务的执行效率,从而无法满足用户的计算需求。


技术实现要素:



3.有鉴于此,本发明实施例期望提供一种任务执行方法、装置、设备及存储介质。
4.本发明实施例的技术方案是这样实现的:
5.本发明的至少一个实施例提供了一种任务执行方法,应用于服务器,所述方法包括:
6.接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;
7.利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;
8.向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;
9.接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
10.此外,根据本发明的至少一个实施例,所述利用所述第一信息,确定执行所述第一设备的计算任务的第二设备,包括:
11.发送广播消息;所述广播消息携带有所述第一信息;所述广播消息用于供接收所述广播消息的设备基于所述第一信息确定是否上报第二信息;所述第二信息包括存储空间、算力和传输速率;
12.接收所述多个第三设备分别发送的第二信息;
13.利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
14.此外,根据本发明的至少一个实施例,所述利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
15.利用接收的第二信息,确定最大存储空间、最大算力和最大传输速率;
16.确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重;
17.利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重
和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
18.此外,根据本发明的至少一个实施例,所述利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
19.针对每个第三设备,计算相应设备对应的存储空间与最大存储空间的第一比值、相应设备对应的算力与最大算力的第二比值以及相应设备对应的传输速率和最大传输速率的第三比值;
20.利用所述第一比值、第二比值和第三比值,以及所述第一权重、第二权重和第三权重,计算相应设备对应的第一数值,得到多个第一数值;
21.将所述多个第一数值中最大数值对应的设备作为执行所述第一设备的计算任务的第二设备。
22.此外,根据本发明的至少一个实施例,所述接收第一请求,包括:
23.接收多个设备分别发送的第三请求;所述第三请求用于请求执行相应设备的计算任务;
24.从预设业务优先级表中,确定与所述多个设备分别对应的业务优先级系数,得到多个业务优先级系数;所述预设业务优先级表存储有设备和业务优先级系数的对应关系;
25.将所述多个业务优先级系数中最大业务优先级系数对应的终端作为第一终端;
26.将接收的所述多个业务优先级系数中最大业务优先级系数对应的终端发送的第三请求作为所述第一请求。
27.此外,根据本发明的至少一个实施例,所述执行结果中包含执行计算任务的时长信息;所述方法还包括:
28.基于所述第一信息包含的计算任务的数据量,以及所述执行结果中包含的执行计算任务的时长信息,计算第二数值;
29.利用所述第二数值,更新所述预设业务优先级表中与所述第二设备对应的业务优先级系数以及与所述第一设备对应的业务优先级系数。
30.本发明的至少一个实施例提供一种任务执行装置,包括:
31.接收单元,用于接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;
32.处理单元,用于利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;
33.发送单元,用于向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;
34.所述接收单元,还用于接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
35.本发明的至少一个实施例提供一种服务器,包括:
36.通信接口,用于接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;
37.处理器,用于利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;
38.所述通信接口,还用于向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;以及接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
39.本发明的至少一个实施例提供一种服务器,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,
40.其中,所述处理器用于运行所述计算机程序时,执行上述服务器侧任一方法的步骤。
41.本发明的至少一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
42.本发明实施例提供的任务执行方法、装置、设备及存储介质,接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。采用本发明实施例的技术方案,服务器根据第一设备发送的第一信息,确定执行所述第一设备的计算任务的第二设备,从而实现任务分发。如此,网络中的第二设备可以帮助承担第一设备的计算任务工作,可以满足使用所述第一设备的用户的计算需求。
附图说明
43.图1是本发明实施例任务执行方法应用的系统架构示意图;
44.图2是本发明实施例任务执行方法的实现流程示意图一;
45.图3是本发明实施例任务执行方法的实现流程示意图二;
46.图4是本发明实施例任务执行方法的具体实现流程示意图一;
47.图5是本发明实施例任务执行方法的具体实现流程示意图二;
48.图6是本发明实施例任务执行装置的组成结构示意图;
49.图7是本发明实施例服务器的组成结构示意图。
具体实施方式
50.在对本发明实施例的技术方案进行介绍之前,先对相关技术进行说明。
51.相关技术中,随着网络技术的不断的发展和深入,数据信息越来越多,海量数据的挖取与分析需要巨大的计算能力加以解决,如解决复杂的数学问题、生物病例研究、各类疾病药物研究等。以大规模虚拟环境与地形仿真研究为例,该研究已经成为人们广泛关注的热点课题,在流域水文气象分析、防洪减灾、虚拟环境仿真、城市景观规划、虚拟旅游等诸多领域都有迫切的应用需求。
52.大规模虚拟环境与地形仿真涉及到海量地形数据,包括整个空间的静态地形地貌信息(如河流、湖泊、山川、沼泽、村庄、城镇、道路、桥梁、建筑物等的分布及其详细参数信息、地形起伏、坡度等)、动态地形地貌信息(如自然或人为原因形成的山地的滑坡坍塌、桥梁坍塌、道路阻断、雪崩泥石流等现象)、天气信息等,对于海量数据处理涉及到多分辨率模
型结构设计、地形模型建模、纹理压缩与映射、数据库存储和索引机制、地形数据实时快速显示与调度等方面。因此,虚拟地形环境仿真需要处理大数据量、高复杂度的计算任务,其对计算系统的性能提出了很高要求。
53.目前,有两种方式可以解决大规模数据计算(如虚拟环境与地形仿真)问题:一种方式是通过集中式计算方式,采用超级计算机来解决如此庞大计算量的计算问题,超级计算机如我国的“银河”、“曙光”等,还有ibm的超级计算机“深蓝”;另一种方式是分布式计算,将众多中等性能的工作站、主机和个人pc机等联合起来,形成一个巨大的计算池,满足了巨大计算能力的需求。
54.但是,第一种方式存在的技术缺陷是:以超级计算机为中心的计算模式存在明显的不足,它虽然是一个处理能力强大的“巨无霸”,但它造价极高,通常只有一些国家级的部门(如航天、气象和军工等部门)才有能力配置这样的设备。此外,大量计算任务由设备进行集中处理,对计算机同样造成很大的数据存储与计算压力,终端侧的资源大量浪费。
55.第二种方式存在的技术缺陷是:具有任务分配与决策功能的云端服务器向设备进行任务分配的交互流程如下:设备向服务端上报的状态分空闲和答案返回两种。设备向服务端报告空闲,通信进程接收到该报告,就取出等待队列(用来存放待分发的子任务)的队头子任务,打包成字符串,分配到该设备。设备执行完计算任务后,向服务端递送执行结果,把收到的字符串解包,送入结果队列(用来存放子任务执行结果)。然后向设备回复成功,设备收到后,继续向服务端报空闲。由此可见,云端进行任务分配时多从系统的角度出发,忽略了异构设备间的性能差异,尚未考虑终端设备的灵活调度,影响了被分配任务的执行效率以及设备原有运行任务的计算效率。
56.基于此,本发明实施例中,接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
57.图1是本发明实施例任务执行方法应用的系统架构示意图,如图1所示,所述系统包括:
58.第一设备,用于向服务器发送第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力。
59.服务器,用于接收所述第一请求;利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务。
60.第二设备,用于接收所述服务器发送的第二请求;根据所述第二请求执行所述第一设备请求的计算任务,得到执行结果;并将所述执行结果发送给服务器。
61.所述服务器,还用于接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
62.图2是本发明实施例任务执行方法的实现流程示意图,应用于服务器,如图2所示,所述方法包括步骤201至步骤204:
63.步骤201:接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力。
64.可以理解的是,所述服务器在接收第一请求之前,还可以接收网络中其他设备分别发送的注册请求;所述注册请求用于请求在云服务器进行注册认证。所述服务器接收到相应设备发送的注册请求后,会为相应设备分配一个注册账号;所述注册账号用于所述相应设备登录任务执行系统,以向所述服务器发送所述第一请求。
65.进一步地,所述服务器在接收第一请求后,可以基于所述第一请求携带的相应设备的注册账号,对相应设备的唯一有效身份进行握手认证。
66.步骤202:利用所述第一信息,确定执行所述第一设备的计算任务的第二设备。
67.可以理解的是,所述服务器在接收到第一设备发送的第一请求后,可以基于所述第一请求携带的第一信息,从网络中选取一个能够执行所述第一设备请求的计算任务的第二设备。
68.基于此,在一实施例中,所述利用所述第一信息,确定执行所述第一设备的计算任务的第二设备,包括:
69.发送广播消息;所述广播消息携带有所述第一信息;所述广播消息用于供接收所述广播消息的设备基于所述第一信息确定是否上报第二信息;所述第二信息包括存储空间、算力和传输速率;
70.接收所述多个第三设备分别发送的第二信息;
71.利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
72.具体地,所述利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
73.利用接收的第二信息,确定最大存储空间、最大算力和最大传输速率;
74.确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重;
75.利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
76.这里,所述利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
77.针对每个第三设备,计算相应设备对应的存储空间与最大存储空间的第一比值、相应设备对应的算力与最大算力的第二比值以及相应设备对应的传输速率和最大传输速率的第三比值;
78.利用所述第一比值、第二比值和第三比值,以及所述第一权重、第二权重和第三权重,计算相应设备对应的第一数值,得到多个第一数值;
79.将所述多个第一数值中最大数值对应的设备作为执行所述第一设备的计算任务的第二设备。
80.可以理解的是,若所述多个第一数值中最大数值对应的设备为多个设备,则从多
个设备中随机选取一个设备作为所述第一设备的计算任务的第二设备。
81.步骤203:向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务。
82.可以理解的是,所述第二请求还可以携带有接口信息。
83.进一步地,所述第二设备接收到所述服务器发送的第二请求后,通过所述第二请求提供的接口信息,调用数据存储设备存储的数据信息;利用所述数据信息,执行所述第一设备请求的计算任务,得到执行结果;并将执行结果上传至所述服务器。
84.步骤204:接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
85.本发明实施例中,服务器根据第一设备发送的第一信息,确定执行所述第一设备的计算任务的第二设备,具备以下优点:
86.(1)在大规模任务计算场景下,服务器根据第一设备发送的第一信息,确定执行所述第一设备的计算任务的第二设备,从而实现任务分发。
87.(2)在大规模任务计算场景下,网络中的第二设备可以帮助承担第一设备的计算任务工作,以满足使用所述第一设备的用户的计算需求。
88.图3是本发明实施例任务执行方法的实现流程示意图,应用于服务器,如图3所示,所述方法包括步骤301至步骤308:
89.步骤301:接收多个设备分别发送的第三请求;所述第三请求用于请求执行相应设备的计算任务。
90.步骤302:从预设业务优先级表中,确定与所述多个设备分别对应的业务优先级系数,得到多个业务优先级系数;所述预设业务优先级表存储有设备和业务优先级系数的对应关系。
91.步骤303:将所述多个业务优先级系数中最大业务优先级系数对应的终端作为第一终端。
92.步骤304:将第一终端发送的第三请求作为第一请求;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力。
93.可以理解的是,所述服务器在接收第一请求之前,还可以接收网络中其他设备分别发送的注册请求;所述注册请求用于请求在云服务器进行注册认证。所述服务器接收到相应设备发送的注册请求后,会为相应设备分配一个注册账号;所述注册账号用于所述相应设备登录任务执行系统,以向所述服务器发送所述第一请求。
94.进一步地,所述服务器在接收第一请求后,可以基于所述第一请求携带的相应设备的注册账号,对相应设备的唯一有效身份进行握手认证。
95.步骤305:利用所述第一信息,确定执行所述第一设备的计算任务的第二设备。
96.可以理解的是,所述服务器在接收到第一设备发送的第一请求后,可以基于所述第一请求携带的第一信息,从网络中选取一个能够执行所述第一设备请求的计算任务的第二设备。
97.基于此,在一实施例中,所述利用所述第一信息,确定执行所述第一设备的计算任务的第二设备,包括:
98.发送广播消息;所述广播消息携带有所述第一信息;所述广播消息用于供接收所
述广播消息的设备基于所述第一信息确定是否上报第二信息;所述第二信息包括存储空间、算力和传输速率;
99.接收所述多个第三设备分别发送的第二信息;
100.利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
101.具体地,所述利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
102.利用接收的第二信息,确定最大存储空间、最大算力和最大传输速率;
103.确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重;
104.利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
105.这里,所述利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:
106.针对每个第三设备,计算相应设备对应的存储空间与最大存储空间的第一比值、相应设备对应的算力与最大算力的第二比值以及相应设备对应的传输速率和最大传输速率的第三比值;
107.利用所述第一比值、第二比值和第三比值,以及所述第一权重、第二权重和第三权重,计算相应设备对应的第一数值,得到多个第一数值;
108.将所述多个第一数值中最大数值对应的设备作为执行所述第一设备的计算任务的第二设备。
109.可以理解的是,若所述多个第一数值中最大数值对应的设备为多个设备,则从多个设备中随机选取一个设备作为所述第一设备的计算任务的第二设备。
110.步骤306:向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务。
111.可以理解的是,所述第二请求还可以携带有接口信息。
112.进一步地,所述第二设备接收到所述服务器发送的第二请求后,通过所述第二请求提供的接口信息,调用数据存储设备存储的数据信息;利用所述数据信息,执行所述第一设备请求的计算任务,得到执行结果;并将执行结果上传至所述服务器。
113.步骤307:接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
114.步骤308:基于所述第一信息包含的计算任务的数据量,以及所述执行结果中包含的执行计算任务的时长信息,计算第二数值;利用所述第二数值,更新所述预设业务优先级表中与所述第二设备对应的业务优先级系数以及与所述第一设备对应的业务优先级系数。
115.本发明实施例中,服务器根据业务优先级列表实现业务分发,具备以下优点:
116.(1)在大规模任务计算场景下,服务器根据发送第三请求的多个设备分别对应的业务优先级系数,确定优先进行业务计算的第一设备,从而实现任务的编排。
117.(2)在大规模任务计算场景下,服务器根据第一设备发送的第一信息,确定执行所
述第一设备的计算任务的第二设备,如此,所述第二设备可以帮助承担第一设备的计算任务工作,从而有效实现了设备资源的充分调度,同时提升了设备任务的处理效率。
118.(3)基于第一设备的计算任务的数据量及第二设备执行第一设备的计算任务所需的计算时长,量化第一设备和第二设备的业务优先级系数,并以此为依据安排计算任务的分发顺序,从而激励更多设备参与分发任务的计算,进而有效提升了设备资源的利用率。
119.图4是本发明实施例任务执行方法的具体实现流程示意图,所述第一设备对应设备a,所述第二设备对应设备b,所述服务器对应云服务器;如图4所示,所述方法包括步骤401至步骤408:
120.步骤401:设备a向云服务器发送第一请求;所述第一请求用于请求执行设备a的计算任务;所述第一请求携带有第一信息;所述第一信息包含所述计算任务的数据量、执行所述计算任务所需的算力。
121.步骤402:云服务器向其他设备发送广播消息;所述广播消息携带有设备a发送的第一信息。
122.步骤403:云服务器接收设备b、设备c和设备d分别发送的第二信息;所述第二信息包括存储空间、算力和传输速率。
123.可以理解的是,有意愿执行设备a的计算任务的设备节点在收到云服务器发送的广播消息后,会向云服务器上报其可用的存储空间、算力、传输速率等基础能力信息。
124.步骤404:云服务器利用设备上报的第二信息,筛选出最大存储空间、最大算力和最大传输速率。
125.可以理解的是,假设设备b对应的存储空间为最大存储空间,用storage
max
表示;设备c对应的算力为最大算力,用cal
max
表;设备d对应的传输速率为最大的传输速率,用于rate
max
表示。
126.步骤405:云服务器确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重。
127.可以理解的是,所述第一请求还可以携带所述计算任务对应的业务类型。
128.进一步地,云服务器依据所述第一请求携带的业务类型,确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重。
129.假设使用a、b、c分别表示与存储空间对应的第一权重、与算力对应的第二权重,和与传输速率对应的第三权重。
130.具体地,可以按照下面公式,计算一权重、第二权重和第三权重:
[0131][0132][0133][0134]
其中,a0、b0、c0分别是云服务器依据与所述计算任务对应的业务类型,分别对存储空间、算力、传输速率的需求进行分级判断后确定的数值,且均为1-10之间的自然数,等级越高,表示对该能力需求越大。
[0135]
需要说明的是,在执行每次任务期间,a0、b0、c0均为常量。而且,a0、b0、c0均需要经过大量的样本训练后确定。
[0136]
步骤406:云服务器计算设备b、设备c和设备d的能力参数。
[0137]
以设备b为例,可以按照下面公式,计算设备b的能力参数,记作对应的第一数值:
[0138][0139]
其中,qb表示设备b的能力参数。storageb、calb、rateb分别表示设备b的存储空间、算力及传输速率。
[0140]
以此类推,云服务器按照上面公式,分别计算设备c和设备d的能力参数,并记作对应的第一数值。
[0141]
步骤407:云服务器依据各设备的能力参数值,筛选出能力参数值最大的设备b;并向筛选出的设备b发送第二请求。
[0142]
可以理解的是,假设设备b和设备c的能力参数值均为最大,则随机选择一个设备进行任务分发。
[0143]
步骤408:云服务器接收设备b上报的执行结果,并将执行结果转发给设备a。
[0144]
本示例中,服务器根据设备a发送的第一信息,确定执行设备a的计算任务的设备b,具备以下优点:
[0145]
(1)在大规模任务计算场景下,服务器根据设备a发送的第一信息,确定执行设备a的计算任务的设备b,从而实现任务分发。
[0146]
(2)在大规模任务计算场景下,网络中的设备b可以帮助承担设备a的计算任务工作,以满足使用设备a的用户的计算需求。
[0147]
图5是本发明实施例任务执行方法的具体实现流程示意图,所述第一设备对应设备a,所述第二设备对应设备b,所述服务器对应云服务器;如图5所示,所述方法包括步骤501至步骤508:
[0148]
步骤501:设备a和设备c分别向云服务器发送第三请求;所述第三请求用于请求执行相应设备的计算任务;所述第三请求携带有第一信息;所述第一信息包含所述计算任务的数据量、执行所述计算任务所需的算力。
[0149]
步骤502:云服务器从预设业务优先级表中,确定与设备a和设备d分别对应的业务优先级系数,得到两个业务优先级系数。
[0150]
可以理解的是,所述预设业务优先级表存储有设备和业务优先级系数的对应关系;
[0151]
步骤503:云服务器对两个业务优先级系数中最大业务优先级系数对应的终端a发送的请求进行优先处理。
[0152]
可以理解的是,假设设备a对应的业务优先级系数最大,则优先处理设备a的请求。
[0153]
步骤504:云服务器向其他设备发送广播消息;所述广播消息携带有设备a发送的第一信息。
[0154]
步骤505:云服务器接收设备b、设备c和设备d分别发送的第二信息;所述第二信息包括存储空间、算力和传输速率。
[0155]
可以理解的是,有意愿执行设备a的计算任务的设备节点在收到云服务器发送的
广播消息后,会向云服务器上报其可用的存储空间、算力、传输速率等基础能力信息。
[0156]
步骤506:云服务器利用设备上报的第二信息,筛选出能力参数值最大的设备b;并向筛选出的设备b发送第二请求。
[0157]
步骤507:云服务器接收筛选出的设备上报的执行结果;所述执行结果中包含执行计算任务的时长信息;将执行结果转发给设备a。
[0158]
步骤508:更新设备a的业务优先级系数和设备b的业务优先级系数。
[0159]
具体地,按照下面公式,计算第二数值:
[0160]
第二数值=设备a的计算任务的数据量
×
α+设备b执行计算任务的时长
×
β,
[0161]
其中,第二数值表征b的优先级系数增值。α、β分别为单位计算数据量及单位计算时间的优先级常量。
[0162]
可以理解的是,在设备b对应的原有业务优先级系数的基础上,加上计算的第二数值,可以得到设备b调整后的业务优先级系数。
[0163]
同样地,在设备a对应的原有业务优先级系数的基础上,减去计算的第二数值,可以得到设备a调整后的业务优先级系数。
[0164]
若设备a的原有业务优先级系数≤第二数值,则将设备a当前的业务优先级系数清零。
[0165]
可以理解的是,在更新设备a的业务优先级系数和设备b的业务优先级系数之后,云服务器可以依据更新后的各设备的优先级系数,以降序方式重新调整设备的任务优先级表。如此,云服务器依据更新后的业务优先级表,安排执行其他设备请求的计算任务的顺序,即,选择优先级系数最高的设备优先安排任务分发。
[0166]
在本示例中,服务器根据业务优先级列表实现业务分发,具备以下优点:
[0167]
(1)在大规模任务计算场景下,服务器根据发送第三请求的多个设备分别对应的业务优先级系数,确定优先进行业务计算的设备a,从而实现任务的编排。
[0168]
(2)在大规模任务计算场景下,服务器根据设备a发送的第一信息,确定执行设备a的计算任务的设备b,如此,设备b可以帮助承担设备a的计算任务工作,从而有效实现了设备资源的充分调度,同时提升了设备任务的处理效率。
[0169]
(3)基于设备a的计算任务的数据量及设备b执行设备a的计算任务所需的计算时长,量化设备a和设备b的业务优先级系数,并以此为依据安排计算任务的分发顺序,从而激励更多设备参与分发任务的计算,进而有效提升了设备资源的利用率。
[0170]
为实现本发明实施例任务执行方法,本发明实施例还提供一种任务执行装置,设置在服务器上。图6为本发明实施例任务执行装置的组成结构示意图,如图6所示,所述装置包括:
[0171]
接收单元61,用于接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;
[0172]
处理单元62,用于利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;
[0173]
发送单元63,用于向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;
[0174]
所述接收单元61,还用于接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。
[0175]
在一实施例中,所述处理单元62,具体用于:
[0176]
发送广播消息;所述广播消息携带有所述第一信息;所述广播消息用于供接收所述广播消息的设备基于所述第一信息确定是否上报第二信息;所述第二信息包括存储空间、算力和传输速率;
[0177]
接收所述多个第三设备分别发送的第二信息;
[0178]
利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
[0179]
在一实施例中,所述处理单元62,具体用于:
[0180]
利用接收的第二信息,确定最大存储空间、最大算力和最大传输速率;
[0181]
确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重;
[0182]
利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。
[0183]
在一实施例中,所述处理单元62,具体用于:
[0184]
针对每个第三设备,计算相应设备对应的存储空间与最大存储空间的第一比值、相应设备对应的算力与最大算力的第二比值以及相应设备对应的传输速率和最大传输速率的第三比值;
[0185]
利用所述第一比值、第二比值和第三比值,以及所述第一权重、第二权重和第三权重,计算相应设备对应的第一数值,得到多个第一数值;
[0186]
将所述多个第一数值中最大数值对应的设备作为执行所述第一设备的计算任务的第二设备。
[0187]
在一实施例中,所述接收单元61,具体用于:
[0188]
接收多个设备分别发送的第三请求;所述第三请求用于请求执行相应设备的计算任务;
[0189]
从预设业务优先级表中,确定与所述多个设备分别对应的业务优先级系数,得到多个业务优先级系数;所述预设业务优先级表存储有设备和业务优先级系数的对应关系;
[0190]
将所述多个业务优先级系数中最大业务优先级系数对应的终端作为第一终端;
[0191]
将接收的所述多个业务优先级系数中最大业务优先级系数对应的终端发送的第三请求作为所述第一请求。
[0192]
在一实施例中,所述处理单元62,还用于:
[0193]
所述执行结果中包含执行计算任务的时长信息;基于所述第一信息包含的计算任务的数据量,以及所述执行结果中包含的执行计算任务的时长信息,计算第二数值;
[0194]
利用所述第二数值,更新所述预设业务优先级表中与所述第二设备对应的业务优先级系数以及与所述第一设备对应的业务优先级系数。
[0195]
实际应用时,所述接收单元61、发送单元63可以由任务执行装置中的通信接口实现。所述处理单元62可以由任务执行装置中的处理器实现。
[0196]
需要说明的是:上述实施例提供的任务执行装置在进行信息处理时,仅以上述各
程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的任务执行装置与信息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0197]
本发明实施例还提供了一种服务器,如图7所示,包括:
[0198]
通信接口71,能够与其它设备进行信息交互;
[0199]
处理器72,与所述通信接口71连接,用于运行计算机程序时,执行上述服务器侧一个或多个技术方案提供的方法。而所述计算机程序存储在存储器73上。
[0200]
需要说明的是:所述处理器72和通信接口71的具体处理过程详见方法实施例,这里不再赘述。
[0201]
当然,实际应用时,服务器70中的各个组件通过总线系统74耦合在一起。可理解,总线系统74用于实现这些组件之间的连接通信。总线系统74除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统74。
[0202]
本技术实施例中的存储器73用于存储各种类型的数据以支持服务器70的操作。这些数据的示例包括:用于在服务器70上操作的任何计算机程序。
[0203]
上述本技术实施例揭示的方法可以应用于所述处理器72中,或者由所述处理器72实现。所述处理器72可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述处理器72中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述处理器72可以是通用处理器、数字数据处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器72可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器73,所述处理器72读取存储器73中的信息,结合其硬件完成前述方法的步骤。
[0204]
在示例性实施例中,服务器70可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。
[0205]
可以理解,本技术实施例的存储器(存储器73)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁
表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0206]
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由服务器70的处理器72执行,以完成前述服务器侧方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0207]
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0208]
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0209]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

技术特征:


1.一种任务执行方法,其特征在于,应用于服务器,所述方法包括:接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。2.根据权利要求1所述的方法,其特征在于,所述利用所述第一信息,确定执行所述第一设备的计算任务的第二设备,包括:发送广播消息;所述广播消息携带有所述第一信息;所述广播消息用于供接收所述广播消息的设备基于所述第一信息确定是否上报第二信息;所述第二信息包括存储空间、算力和传输速率;接收所述多个第三设备分别发送的第二信息;利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。3.根据权利要求2所述的方法,其特征在于,所述利用接收的第二信息,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:利用接收的第二信息,确定最大存储空间、最大算力和最大传输速率;确定与存储空间对应的第一权重、与算力对应的第二权重和与传输速率对应的第三权重;利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备。4.根据权利要求3所述的方法,其特征在于,所述利用所述最大存储空间、最大算力和最大传输速率,以及所述第一权重、第二权重和第三权重,从所述多个第三设备中确定执行所述第一设备的计算任务的第二设备,包括:针对每个第三设备,计算相应设备对应的存储空间与最大存储空间的第一比值、相应设备对应的算力与最大算力的第二比值以及相应设备对应的传输速率和最大传输速率的第三比值;利用所述第一比值、第二比值和第三比值,以及所述第一权重、第二权重和第三权重,计算相应设备对应的第一数值,得到多个第一数值;将所述多个第一数值中最大数值对应的设备作为执行所述第一设备的计算任务的第二设备。5.根据权利要求1所述的方法,其特征在于,所述接收第一请求,包括:接收多个设备分别发送的第三请求;所述第三请求用于请求执行相应设备的计算任务;从预设业务优先级表中,确定与所述多个设备分别对应的业务优先级系数,得到多个业务优先级系数;所述预设业务优先级表存储有设备和业务优先级系数的对应关系;将所述多个业务优先级系数中最大业务优先级系数对应的终端作为第一终端;将接收的所述多个业务优先级系数中最大业务优先级系数对应的终端发送的第三请求作为所述第一请求。
6.根据权利要求5所述的方法,其特征在于,所述执行结果中包含执行计算任务的时长信息;所述方法还包括:基于所述第一信息包含的计算任务的数据量,以及所述执行结果中包含的执行计算任务的时长信息,计算第二数值;利用所述第二数值,更新所述预设业务优先级表中与所述第二设备对应的业务优先级系数以及与所述第一设备对应的业务优先级系数。7.一种任务执行装置,其特征在于,包括:接收单元,用于接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;处理单元,用于利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;发送单元,用于向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;所述接收单元,还用于接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。8.一种服务器,其特征在于,包括:通信接口,用于接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;处理器,用于利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;所述通信接口,还用于向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;以及接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。9.一种服务器,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至6任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。

技术总结


本发明公开了一种任务执行方法、装置、设备及存储介质。其中,所述方法包括:接收第一请求;所述第一请求用于请求执行第一设备的计算任务;所述第一请求携带有第一信息;所述第一信息包括所述计算任务的数据量、执行所述计算任务所需的算力;利用所述第一信息,确定执行所述第一设备的计算任务的第二设备;向所述第二设备发送第二请求;所述第二请求用于请求执行所述计算任务;接收所述第二设备发送的执行结果,并将所述执行结果转发给所述第一设备。并将所述执行结果转发给所述第一设备。并将所述执行结果转发给所述第一设备。


技术研发人员:

张春天 李源 丁郁 郄雅坤

受保护的技术使用者:

中国移动通信集团有限公司

技术研发日:

2021.09.13

技术公布日:

2023/3/16

本文发布于:2023-03-26 22:23:42,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/80092.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   设备   优先级   多个
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图