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

业务处理方法及装置与流程

2021-11-05 20:10:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种业务处理方法及装置。


背景技术:

2.云应用是指把传统软件本地安装、本地运算的使用方式变为即取即用的服务,通过互联网或局域网连接并操控远程服务器集群,完成逻辑或运算任务的一种新型应用。简单来说,云应用是指某个应用的运行和计算依赖云服务器执行,终端只负责画面展示,例如云游戏作为云应用中的一个典型,云游戏是指基于云计算技术,游戏在远程服务器上运行,终端不需要下载、安装,也不需要考虑终端配置,彻底解决了终端性能不足无法运行重度游戏的问题。
3.由此可见,云应用的运行需要极低的网络延时以及极高的网络稳定性,传统的网络环境显然无法满足云应用的网络要求。因此,为了给用户提供更加稳定的网络环境,一般都会通过大规模部署边缘服务器的方式,让云应用的服务器离用户更近。通常情况下,云应用用户的在线是有比较明显的潮汐现象的,比如对于云游戏来说,在高峰期时间段比如晚上在线的游戏用户数量较多,在非高峰期比如早上或者中午时间段在线的游戏用户数量相对较少。但是,为了给用户提供更好的云应用体验,无论是在什么情况下,都会按照最高在线人数来准备资源,而这样一来,一部分资源在非高峰期时段就会产生空闲,造成了资源的浪费。因此,在云应用领域中,如何避免资源浪费,提高资源利用率成为当今研究的热点问题之一。


技术实现要素:

4.本发明实施例提供了一种业务处理方法及装置,保证边缘服务器中云应用正常运行的情况下,利用边缘服务器的空闲算力资源执行离线任务,避免了边缘服务器中资源的浪费,提高了边缘服务器的资源利用率,从而可以降低边缘服务器的运行成本。
5.一方面,本发明实施例提供了一种业务处理方法,包括:
6.确定执行离线任务所需的第一算力资源;
7.确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
8.将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
9.一方面,本发明实施例提供了另一种业务处理方法,该业务处理方法由用于执行离线任务的n个边缘服务器中的一个边缘服务器执行,n个边缘服务器中运行有云应用,业务处理方法包括:
10.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;
11.在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
12.一方面,本发明实施例还提供了一种业务处理装置,包括:
13.确定单元,用于确定执行离线任务所需的第一算力资源;
14.所述确定单元,还用于确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
15.调度单元,用于将所述离线业务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用每个边缘服务器中的空闲算力资源执行所述离线任务。
16.一方面,本发明实施例提供了一种业务处理装置,其特征在于,包括:
17.接收单元,用于接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的离线任务,或者所述分布式离线任务包括n个子任务中与边缘服务器相匹配的子任务,所述n个子任务是将基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到的;所述n个边缘服务器用于执行所述离线任务,所述n个边缘服务器中运行有云应用;
18.执行单元,用于在保证目标云应用正常执行的情况下,采用所述边缘服务器中的空闲算力资源执行所述分布式离线任务。
19.一方面,本发明实施例提供了一种服务器,其特征在于,包括:
20.处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
21.确定执行离线任务所需的第一算力资源;
22.确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
23.将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
24.一方面,本发明实施例提供了另一种服务器,其特征在于,包括:
25.处理器,适用于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:
26.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;
27.在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
28.一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时,用于执行:
29.确定执行离线任务所需的第一算力资源;
30.确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
31.将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
32.或者,所述计算机程序被处理器执行时,用于执行:
33.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;
34.在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
35.一方面,本发明实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;服务器的处理器从计算机存储介质中读取所述计算机程序,该处理器执行计算机程序,使得服务器执行:
36.确定执行离线任务所需的第一算力资源;
37.确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
38.将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
39.或者,服务器的处理器从计算机存储介质中读取该计算机程序,该处理器执行该计算机程序,使得服务器执行:
40.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算
力资源对所述离线任务进行分割处理得到;
41.在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
42.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。
43.这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
附图说明
44.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本发明实施例提供的一种云应用管理系统的结构示意图;
46.图2是本发明实施例提供的一种业务处理方法的流程示意图;
47.图3是本发明实施例提供的另一业务处理方法的流程示意图;
48.图4是本发明实施例提供的一种业务处理系统的结构示意图;
49.图5是本发明实施例提供的一种业务处理装置的结构示意图;
50.图6是本发明实施例提供的另一种业务处理装置的结构示意图;
51.图7是本发明实施例提供的一种服务器的结构示意图;
52.图8是本发明实施例提供的另一种服务器的结构示意图。
具体实施方式
53.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
54.本发明实施例提供了一种业务处理方案,可以使得边缘服务器的资源得到充分利用,提高资源利用率,同时可以降低云应用的边缘服务器的运营成本。在该业务处理方案中,当管理服务器接收到需要执行的离线任务时,首先可以评估执行该离线任务所需的第一算力资源;然后确定出用于执行该离线任务的n个边缘服务器,需要说明的是,这n个边缘服务器的空闲算力资源大于该第一算力资源;然后将离线任务分布式调度至n个边缘服务器,这n个边缘服务器在保证云应用正常运行的情况下,使用各自的空闲算力资源来执行该
离线业务。上述n的取值可以大于或等于1,当n的取值为1时,分布式调度是指将该离线任务分配给该一个边缘服务器单独执行;当n的取值大于1时,分布式调度是指将离线任务分配给多个边缘服务器共同执行,可以将该离线任务分割成几个子业务,每个边缘服务器被分配执行一个子业务,这样一来,可以分担每个边缘服务器的负载,保证每个边缘服务器中云应用的正常运行;或者,也可以将离线任务分别分配给每个边缘服务器,多个边缘服务器执行相同的离线任务,可以提高离线任务的执行率。本发明实施例提供的业务处理方案中无论在云应用的高峰期还是非高峰期,均能在保证云应用正常运行的情况下,利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
55.基于上述业务处理方案,本发明实施例提供了一种云应用管理系统,参见图1,为本发明实施例提供的一种云应用管理系统的结构示意图,图1所示的云应用管理系统包括至少一个边缘服务器101,至少一个边缘服务器101可以用于运行云应用,需要说明的是,至少一个边缘服务器101中可以运行相同或者不相同的云应用。常见的云应用包括云游戏、云教育、云会议以及云社交等等。
56.可选的,至少一个边缘服务器101可以被分配至多个边缘计算节点中,一个边缘计算节点可以看成是用于进行边缘计算的节点,边缘计算可以指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务,其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。每个边缘计算节点中运行一个或多个边缘服务器,这些边缘服务器具有图形处理运算能力,每个边缘服务器可以称为一个计算节点。例如,在图1中,边缘计算节点1中包括四个边缘计算节点,边缘计算节点2中也可以包括四个边缘计算节点。
57.在一个实施例中,图1所示的云应用管理系统中还可以包括云应用服务器102,云应用服务器102与至少一个边缘服务器101相连接,云应用服务器102可以为每个边缘服务器101提供云应用的运行数据,以使每个边缘服务器101可以基于云应用服务器提供的运行数据运行云应用。
58.在一个实施例中,图1所示的云应用管理系统中还可以包括终端103,终端103可以与至少一个边缘服务器102相连接,终端103用于接收并显示边缘服务器102对云应用进行渲染得到的画面,比如终端103显示边缘服务器102渲染得到的游戏画面。其中,终端103可以指移动智能终端,是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。终端103可以包括智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等。
59.在一个实施例中,图1所示的云应用管理系统中还可以包括管理服务器104,管理服务器104分别与终端103和至少一个边缘服务器101相连接。管理服务器104可以用于对所述至少一个边缘服务器101进行管理和调度,比如当监测到任意一个终端中启动了任意一种云应用时,管理服务器104可以根据当前各个边缘服务器101的负载情况以及空闲算力资源情况,选择一个或多个合适的边缘服务器来执行该任意一个终端中启动的云应用。再如,当用户向管理服务器104提交一个离线任务时,管理服务器104根据各个边缘服务器的空闲算力资源情况,确定将该离线任务调度给一个或多个边缘服务器102,被分配了离线任务的一个或多个边缘服务器102在保证各自的云应用正常运行的情况下,利用各自的空闲算力
资源执行被分配的离线任务,如此一来,既保证了云应用的正常运行,也避免了运行云应用的空闲算力资源浪费,提高了每个边缘服务器的资源利用率,从而可降低对边缘服务器的运营成本。
60.基于上述的业务处理系统,本发明实施例提供了一种业务处理方法。参见图2,为本发明实施例提供的一种业务处理方法的流程示意图,图2所示的业务处理方法可由管理服务器执行,具体可由管理服务器的处理器执行。图2所示的业务处理方法可包括如下步骤:
61.步骤s201、确定执行离线任务所需的第一算力资源。
62.其中,离线任务是指不需要实时在线完成的任务,比如视频特效的离线渲染,人工智能模型的离线训练等等。
63.可选的,根据执行离线任务的主要负载的类型不同,第一算力资源不同。具体地,如果执行离线任务的主要负载属于图形处理器(graphics processing unit,gpu)型,也就是说执行离线任务的主要负载集中在图形处理器,则第一算力资源可包括以下任意一种或多种:网络带宽、内存、图形处理器每秒所执行的浮点运算次数flops、图形处理器每秒所执行的操作次数ops以及吞吐量。
64.如果执行离线任务的主要负载属于中央处理器(central processing unit,cpu)型,也就是说执行离线任务的主要负载集中在中央处理器,则第一算力资源可以包括以下任意一种或多种:内存、网络带宽、中央处理器每秒所执行的浮点运算次数flops、中央处理器每秒所执行的操作次数ops。如果执行离线任务的主要负载为混合型,也就是说执行离线任务的负载既需要cpu,又需要gpu,那么第一算力资源就是上述两种类型下的第一算力资源的综合。
65.其中,每秒所执行的浮点运算次数flops可以分为半精度、单精度和双精度,在计算图形处理器的每秒所执行的浮点运算次数时,需要分别计算图形处理器每秒所执行的半精度浮点运算次数、图形处理器每秒所执行的单精度浮点运算次数以及图形处理器每秒所执行的双精度浮点运算次数。同理的,在计算中央处理器的每秒所执行的浮点运算次数时,也需要分别计算中央处理器每秒所执行的半精度浮点运算次数、中央处理器每秒所执行的单精度浮点运算次数以及中央处理器每秒所执行的双精度浮点运算次数。目前在使用flops衡量计算能力的标准时,通常可以包括每秒万亿次浮点运算(teraflops,tflops)、每秒十亿次浮点运算(gigaflops,gflops)以及每秒百万次浮点运算(megaflops,mflops),及每秒千万亿浮点运算(petaflops,pflops)等。
66.目前在使用ops衡量计算能力的标准时,通常可以包括每秒百万次操作(million operation per second,mops)、每秒十亿次操作(giga operations per second,gops)以及每秒万亿次操作(tera operations per second,tops)等。
67.在一个实施例中,执行离线任务所需的第一算力资源可以是基于与离线任务相似的历史离线任务执行时所使用的算力资源估算得到的。具体实现中,确定执行离线任务所需的第一算力资源,可以包括:基于任务类型和计算复杂度之间的对应关系,确定与该离线任务的任务类型对应的计算复杂度;根据确定的计算复杂度从历史离线任务中查找至少一个匹配历史离线任务,每个匹配历史离线任务对应的计算复杂度与确定的计算复杂度相匹配;基于执行每个匹配历史离线任务所使用的算力资源对离线任务所需的算力资源进行估
算,得到执行离线任务所需的第一算力资源。
68.其中,根据任务内容不同可以将任务进行分类,比如任务内容是对离线视频进行渲染,那么该任务类型可以是视频渲染类;再如任务内容是对模型进行训练,那么该任务类型可以是模型训练类。计算复杂度又可以称为算法复杂度,算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,所需要的资源包括时间资源和内存资源。时间资源可以是通过上述的flops和ops来衡量。本发明实施例中执行离线任务实质是执行离线任务被编写成的可执行程序。
69.任务类型与计算复杂度之间的对应关系可以是执行历史离线任务的计算复杂度确定的,比如执行模型训练类任务对应的计算复杂度,执行离线视频渲染类任务对应的计算复杂度。任务类型对应的计算复杂度可以用于反映执行该任务类型的复杂度数量级。
70.可选的,根据确定的计算复杂度从历史离线任务中查找至少一个匹配历史离线任务,可以包括:从各个历史离线任务中查找计算复杂度与确定的计算复杂度相匹配的历史离线任务,将这些历史离线任务确定为匹配历史离线任务。两个计算复杂度相匹配可以是这两个计算复杂度之间的复杂度差值小于某个指定值,需要说明的是,在执行完成的历史离线任务中,除了与离线任务具有相同任务类型的历史离线任务可能与该离线任务具有相匹配的计算复杂度,与离线任务具有不同任务类型的历史离线任务也可能与该离线任务具有相匹配的计算复杂度,因此,在确定匹配历史离线任务时,不是基于离线任务所属的任务类型来选择匹配历史离线任务,而是根据该离线任务对应的计算复杂度来选择,这样可以从历史离线任务中选择出较多的匹配历史离线任务,基于这些匹配历史离线任务所使用的算力资源对离线任务所需的算力资源进行估算时,估算出的第一算力资源更加准确。
71.当然,在实际应用中,也可以从各个历史离线任务中查找与该离线任务的任务类型相同的历史离线任务作为匹配历史离线任务,基于这些匹配历史离线任务所使用的算力资源进行估算得到第一算力资源,本发明实施例中不做具体限定,可以根据实际需求,灵活选择。
72.由前述可知,第一算力资源可以包括图形处理器算力资源、中央处理器算力资源、内存、网络带宽以及网络吞吐量中任意一个或多个,在基于执行每个匹配历史离线任务所使用的算力资源对离线任务所需的算力资源进行估算,得到执行离线任务所需的第一算力资源,可以包括:基于执行每个匹配离线历史任务所使用的每一种算力资源对离线任务所需的相应算力资源进行估算。比如基于执行每个匹配历史任务所使用的图形算力资源来估算执行离线任务所需的图形算力资源;再如基于执行每个匹配历史任务所使用的内存资源来估算执行离线任务所需的内存。
73.具体实现中,基于执行每个匹配历史离线任务所使用的算力资源对离线任务所需的算力资源进行估算,得到执行离线任务所需的第一算力资源,可以包括:将执行每个匹配历史离线任务所使用的算力资源进行求平均运算,运算结果作为执行离线任务所需的第一算力资源。
74.其他实施例中,基于执行每个匹配历史离线任务所使用的算力资源对离线任务所需的算力资源进行估算,得到执行离线任务所需的第一算力资源,包括:根据每个匹配历史离线任务的任务类型和离线任务的任务类型之间的关系为每个匹配历史离线任务分配一个权重值,基于每个匹配历史离线任务的权重值对至少一个匹配历史离线任务进行加权求
平均运算,运算结果作为执行离线任务所需的第一算力资源。比如,一个匹配历史离线任务与离线任务具有相同的任务类型,那么可以为该匹配历史离线任务赋予一个较高一点的权重值,一个匹配历史离线任务与离线任务分别属于不同的任务类型,那么可以为该匹配历史离线任务赋予一个较低的权重值。
75.在一个实施例中,离线任务可以对应一个执行时长阈值,执行该离线任务所需的第一算力资源具体可以指在执行时长阈值内执行完成离线任务所需的第一算力资源;执行时长阈值不同,可能第一算力资源也不相同。
76.步骤s202、确定用于执行离线任务的n个边缘服务器,n个边缘服务器中运行有云应用,n个边缘服务器的空闲算力资源大于第一算力资源。
77.需要说明的是,云应用被部署至m个边缘服务器中运行,也就是说m个边缘服务器参与云应用的运行,在步骤s202的n个边缘服务器是从m个边缘服务器中选择的,在从m个边缘服务器中选择用于执行离线任务的n个边缘服务器时,可以是直接基于m个边缘服务器中每个边缘服务器的空闲算力资源与第一算力资源确定的。每个边缘服务器的空闲算力资源可以是基于该边缘服务器中运行云应用所需的第二算力资源和该边缘服务器的总算力资源确定的。每个边缘服务器中运行云应用所需的第二算力资源也可以是管理服务器基于历史运行该云应用所使用的算力资源进行估算确定的。比如管理服务器可以获取历史上多次运行云应用所使用的算力资源,然后对这些算力资源进行求平均运算,估算出该边缘服务器运行该云应用所需的第二算力资源。应当理解的,由前述可知,算力资源可以包括多种,在确定每种算力资源时,将每次运行该云应用所需的每种算力资源进行求平均运算,得到该边缘服务器运行该云应用的所需的这种算力资源。
78.可选的,n为大于或等于1的整数,当n等于1时,可以从m个边缘服务器中选择空闲算力资源大于第一算力资源的任意一个边缘服务器作为执行离线任务的边缘服务器。
79.当n大于1时,在一个实施例中,确定用于执行离线任务的n个边缘服务器,包括:将m个边缘服务器中每个边缘服务器的空闲算力资源与第一算力资源相比较;将空闲算力资源大于第一算力资源的n个边缘服务器确定为用于执行离线任务的n个边缘服务器。每个边缘服务器中的空闲算力资源可以是基于每个边缘服务器的总算力资源和运行云应用所需的第二算力资源确定的,比如将每个边缘服务器的总算力资源减去第二算力资源得到每个边缘服务器的空闲算力资源;再如将每个边缘服务器中用于运行云应用所需的第二算力资源与一个预留算力进行相加,然后每个边缘服务器的总算力资源减去该相加结果得到每个边缘服务器的空闲算力资源。这样做的目的是,为云应用的运行预留出一部分算力资源,避免在云应用所需算力资源突然增加时,边缘服务器不能及时作出响应,降低云应用的运行速度和响应效率。
80.简单来说,上述确定n个边缘服务器的方法是:将m个边缘服务器中所有空闲资源大于第一算力资源的边缘服务器作为执行离线任务的n个边缘服务器,虽然这n个边缘服务器中每个边缘服务器的空闲算力资源足够使得每个边缘服务器可以单独执行离线任务,但是本发明实施例中可以将离线任务分布式调度给这n个边缘服务器共同执行,如此离线任务所需的第一算力资源可以分摊到不同的边缘服务器中,每个边缘服务器便可以预留出一些多余的算力资源,这样当某个边缘服务器中云应用所需的算力资源增加时,能够保证该边缘服务器在不暂停执行离线任务的情况下,及时将预留的算力分配给云应用。
81.另一个实施例中,确定用于执行离线任务的n个边缘服务器,包括:将m个边缘服务器中各个边缘服务器的空闲算力资源与第一算力资源进行比较;若不存在任意一个边缘服务器的算力资源大于该第一算力资源;则将m个边缘服务器进行组合得到多个组合,每个组合中包括至少两个服务器;计算每个组合的空闲算力资源之和,将空闲算力资源之和大于第一算力资源的组合中包括的边缘服务器确定为n个用于执行离线任务的边缘服务器。也就是说m个边缘服务器中不存在空闲算力资源大于第一算力资源的边缘服务器,选择出的n个边缘服务器的空闲算力资源之和大于第一算力资源。
82.可选的,本发明实施例中的m个边缘服务器可以被分配至p个边缘计算节点中,每个边缘计算节点中包括一个或多个边缘服务器,比如p个边缘计算节点包括边缘计算节点1和边缘计算节点2,边缘计算节点1中可以包括5个边缘服务器,边缘计算节点2中可以包括m

5个边缘服务器。
83.基于此,在从m个边缘服务器中确定用于执行离线任务的n个边缘服务器时,可以先从p个边缘计算节点中确定出l个边缘计算节点,这l个边缘计算节点的节点空闲算力资源大于第一算力资源,然后从确定出的l个边缘计算节点中选择n个边缘服务器。具体实现中,确定用于执行离线任务的n个边缘服务器包括如下步骤:
84.s1:从p个边缘计算节点中选择l个边缘计算节点,l个边缘计算节点的节点空闲算力资源大于所述第一算力资源。
85.其中,l个边缘计算节点的节点空闲算力资源是l个边缘计算节点中各个边缘计算节点的节点空闲算力资源之和,l个边缘计算节点的节点空闲算力资源大于第一算力资源可以包括以下几种情况中任意一种:l个边缘计算节点中每个边缘计算节点的节点空闲算力均大于第一算力资源、l个边缘计算节点中有一部分边缘计算节点的节点空闲算力大于第一算力资源,剩余一部分的边缘计算节点的节点空闲算力资源之和大于第一算力资源;以及l个边缘计算节点中每个边缘计算节点的节点空闲算力资源均小于第一算力资源,但是l个边缘计算节点的节点空闲算力资源之和大于第一算力资源。
86.简单来说,从p个边缘计算节点中选择l个边缘计算节点时,可以只选择节点空闲算力资源大于第一算力资源的一些边缘计算节点;或者,也可以既选择节点空闲算力资源大于第一算力资源的边缘计算节点,还可以选择一部分节点空闲算力资源之和大于第一算力资源的边缘计算节点;又或者,如果p个边缘计算节点中不存在节点空闲算力资源大于第一算力资源的边缘节点,那么此时只能选择节点空闲算力之和大于第一算力资源的一些边缘计算节点。
87.其中,每个边缘计算节点的节点空闲算力资源是基于每个边缘计算节点中包括的各个边缘服务器的空闲算力资源确定的。例如,将一个边缘计算节点的包括的多个边缘服务器的空闲算力资源进行相加运算,得到该边缘计算节点的节点空闲算力资源;再如,可以将一个边缘计算节点包括的多个边缘服务器的空闲算力资源进行平均运算,得到该边缘计算节点的节点空闲算力资源。需要说明的是,本发明实施例只是列举了两种计算节点空闲算力资源的方式,在具体应用中,可以根据实际需求采用任意方式计算节点空闲算力资源,本发明实施例中不做具体限定。
88.s2:基于l个边缘计算节点包括的每个边缘服务器的属性信息从l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器;
89.在一个实施例中,每个边缘服务器的属性信息可以包括每个边缘服务器的工作状态,工作状态可以包括空闲状态或忙碌状态,当一个边缘服务器的负载超过了负载上限时,确定该边缘服务器的工作状态为忙碌状态;反之,当一个边缘服务器的负载小于负载上限时,该边缘服务器的工作状态为空闲状态。处于忙碌状态的边缘服务器是不被调度执行离线任务的,处于空闲状态的边缘服务器是可以被调度离线任务的。因此,基于l个边缘计算节点包括的每个边缘服务器的属性信息从l个边缘计算节点包括的边缘服务器中确定多个候选的边缘服务器,包括:将l个边缘计算节点包括的边缘服务器中,工作状态为空闲状态的边缘服务器确定为候选的边缘服务器。
90.另一个实施例中,每个边缘服务器的属性信息包括每个边缘服务器所属的服务器类型分组,服务器类型分组包括预设表名单组和普通组,预设白名单组中的边缘服务器用于运行高优先级的、不可被打断的实时云应用,因此预设白名单组中的边缘服务器是不被调度离线任务的。普通组的边缘服务器是可以被调度离线任务的。预设白名单组中的边缘服务器是动态变化的,当预设白名单组中的某个边缘服务器不再执行高优先级的、不可被打断的实时任务,这个边缘服务器被从预设白名单组中移除,可以转移到普通组。因此,基于l个边缘计算节点包括的每个边缘服务器的属性信息从l个边缘计算节点包括的边缘服务器中确定多个候选的边缘服务器,包括:将l个边缘计算节点包括的边缘服务器中,所属的服务器类型分组为普通组的边缘服务器确定为候选的边缘服务器。
91.s3:根据至少一个候选的边缘服务器中每个边缘服务器的空闲算力资源和第一算力资源从至少一个候选的边缘服务器中确定n个边缘服务器。
92.在通过步骤s2得到一些候选的边缘服务器后,从至少一个候选的边缘服务器中选取n个边缘服务器。在一个实施例中,可以将各个候选的边缘服务器的空闲算力资源与第一算力资源进行比较;将空闲算力资源大于第一算力资源的边缘服务器确定为n个边缘服务器。
93.另一个实施例中,将各个候选的边缘服务器中空闲算力资源大于第一算力资源的边缘服务器,以及空闲算力资源之和大于第一算力资源的多个边缘服务器作为n个边缘服务器。比如,至少一个候选边缘服务器中包括边缘服务器1、边缘服务器2以及边缘服务器3,边缘服务器1的空闲算力资源大于第一算力资源,边缘服务器2的空闲算力资源和边缘服务器3的空闲算力资源均不大于第一算力资源,但是边缘服务器2的空闲算力资源和边缘服务器3的空闲算力资源之和大于第一算力资源,那么可以将边缘服务器1、边缘服务器2以及边缘服务器3均作为用于执行离线任务的n个边缘服务器。
94.又一个实施例中,如果各个候选的边缘服务器中不存在空闲算力大于第一算力资源的边缘服务器,那么将空闲算力之和大于第一算力资源的多个边缘服务器作为n个边缘服务器。
95.需要说明的是,第一算力资源可能包括cpu算力资源和/或gpu算力资源,每个边缘服务器的空闲算力资源包括cpu算力资源、gpu算力资源、网络带宽、吞吐量以及内存中任意一个或多个,上述在提到算力资源进行比较,或者算力资源相加运算以及求平均运算时,均是相同类型的算力资源之间进行的。比如第一算力资源包括gpu算力资源,gpu算力资源包括gpu每秒所执行的半精度浮点运算次数,gpu每秒所执行的单精度浮点运算次数,以及gpu每秒所执行的双精度浮点运算次数;任意一个边缘服务器的空闲算力资源包括gpu算力资
源,gpu算力资源也包括gpu每秒所执行的半精度浮点运算次数,gpu每秒所执行单精度浮点运算次数,以及gpu每秒所执行的双精度浮点运算次数。在将任意一个边缘服务器的空闲算力资源与第一算力资源比较时,具体是比较两个gpu每秒所执行的半精度浮点运算次数之间的大小关系、两个gpu每秒所执行的单精度浮点运算次数之间的大小关系,以及两个gpu每秒所执行的双精度浮点运算次数之间的大小关系。
96.步骤s203、将离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中每个边缘服务器在保证云应用正常运行的情况下,使用每个边缘服务器的空闲算力资源执行离线任务。
97.在一个实施例中,将离线任务分布式调度至n个边缘服务器,可以包括:基于所述n个边缘服务器中每个边缘服务器的空闲算力资源,将所述离线任务分割为n个子任务,所述n个子任务中每个子任务与一个边缘服务器相匹配;所述每个子任务相匹配的边缘服务器的空闲算力资源大于执行所述每个子任务所需的算力资源;将所述每个子任务分别分配至所述每个子任务相匹配的边缘服务器,以使每个边缘服务器执行相匹配的子任务。
98.作为一种可选的实施方式,如果n个边缘服务器中每个边缘服务器的空闲算力资源均大于第一算力资源,则基于每个边缘服务器的空闲算力资源,将离线任务分割为n个子任务,包括:将离线任务平均分给为n个子任务,执行每个子任务所需的算力资源可以等于第一算力资源/n,比如第一算力资源为x,将离线任务平均分割为5个子任务,那么执行每个子任务所需的算力资源等于x/5;将n个子任务分别调度给n个边缘服务器。此时每个子任务与一个边缘服务器相匹配可以指一个子任务与任意一个边缘服务器都是相匹配的。
99.作为另一种实施例方式,如果n个边缘服务器中不存在空闲算力资源大于第一算力资源的边缘服务器,n个边缘服务器的空闲算力资源之和大于第一算力资源,则基于每个边缘服务器的空闲算力资源,将离线任务分割为n个子任务,包括:为每个边缘服务器分割出一个子任务,执行该子任务所需的算力资源小于每个边缘服务器的空闲算力资源,此时一个子任务对应一个固定的边缘服务器。比如n个边缘服务器包括边缘服务器1、边缘服务器2以及边缘服务器3,边缘服务器1的空闲算力资源等于x1,边缘服务器2的空闲算力资源等于x2,边缘服务器3的空闲算力资源等于x3,将离线任务分割成3个子任务,子任务1与边缘服务器1相匹配,执行子任务1所需的算力资源小于或等于x1,子任务2与边缘服务器2相匹配,执行子任务2所需的算力资源小于或等于x2;子任务3与边缘服务器3相匹配,执行子任务3所需的算例资源小于或等于x3。
100.作为又一种可选的实施例方式,如果n个边缘服务器中包括一部分空闲算力资源大于第一算力资源的边缘服务器,还包括一部分空闲算力资源不大于第一算力资源的边缘服务器,则基于n个边缘服务器中每个边缘服务器的空闲算力资源,将离线任务分割为n个子任务,可以包括:先根据空闲算力资源不大于第一算力资源的这部分边缘服务器中每个边缘服务器的空闲算力资源将离线任务分割出与这部分边缘服务器中每个边缘服务器相匹配的几个子任务;然后将剩下的离线任务进行平均分割后分配给另外一部分空闲算力资源大于第一算力资源的边缘服务器。
101.上述只是本发明实施例列举的几种分布式调度n个边缘服务器执行离线任务的实施方式,但是在实际应用中,可以根据具体需求选择使用其他方式进行分布式调度n个边缘服务器来执行离线任务,本发明实施例不做具体限定。
102.在一个实施例中,在每个边缘服务器执行相匹配的子任务过程中,管理服务器可以监测每个边缘服务器对相匹配的子任务的执行情况;如果检测到n个边缘服务器中任意一个边缘服务器在执行相匹配的子任务时发生异常,则重新选择一个边缘服务器执行该任意一个边缘服务器相匹配的子任务。可选的,管理服务器是基于每个边缘服务器上报的任务执行状态来监测每个边缘服务器对相匹配的子任务的执行情况的,检测到n个边缘服务器中任意一个边缘服务器在执行相匹配的子任务时发生异常,可以包括:任意一个边缘服务器向管理服务器上报的任务执行状态指示该任意一个边缘服务器在执行子任务时发生异常;或者,管理服务器很长一段时间没有接收到任意一个边缘服务器上报的任务执行状态。
103.由前述可知,离线任务对应一个执行时长阈值,n个边缘服务器需要在执行时长阈值内完成该离线任务,由于离线任务被分割成了n个子任务,那么每个子任务也对应一个执行时长阈值,每个子任务的执行时长阈值可以等于离线任务对应的执行时长阈值。在每个边缘服务器执行相匹配的子任务过程中,如果任意一个边缘服务器发现自己不能在该子任务对应饿的执行时长阈值内执行完该子任务,则任意一个边缘服务器需要向管理服务器上报一个超时提示信息,该超时提示信息用于指示管理服务器重新分配一个新的边缘服务器来执行该任意一个边缘服务器相匹配的子任务。
104.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
105.基于上述的业务处理方法的实施例,本发明实施例提供了另一种业务处理方法,参见图3,为本发明实施例提供的另一种业务处理方法的流程示意图。图3所示的业务处理方法可以由n个边缘服务器中的边缘服务器执行,具体可由边缘服务器的处理器执行,该边缘服务器可以是n个边缘服务器中的任意一个,n个边缘服务器中运行有云应用。图3所示的业务处理方法可包括如下步骤:
106.步骤s301、接收管理服务器分布式调度的分布式离线任务。
107.其中,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是离线任务被分割为n个子任务中的任意一个子任务。该边缘服务器的空闲算力资源大于执行分布式离线任务所需的算力资源。
108.n个子任务是基于用于执行离线任务的n个边缘服务器中每个边缘服务器的空闲算力资源对离线任务进行分割处理得到的,具体实现方式可参见图2实施例中步骤s203中
相关内容的描述,在此不再赘述。
109.可选的,在接收管理服务器分布式调度的分布式离线任务之前,该边缘服务器可以统计该边缘服务器的空闲算力资源,并将该边缘服务器的空闲算力资源上报给管理服务器。该边缘服务器的空闲算力资源可以是基于该边缘服务器的总算力资源和运行云应用所需的第二算力资源确定的。
110.作为一种可选的实施方式,可以将该边缘服务器的总算力资源与第二算力资源进行相减运算,相减运算的结果作为该边缘服务器的空闲算力资源,也就是说该边缘服务器的空闲算力资源可以指该边缘服务器中除去运行云应用的第二算力资源外的剩余算力资源。
111.作为又一种可选的实施方式,可以设置一些预留算力资源,从该边缘服务器的总算力资源中减去预留算力资源和运行云应用所需的第二算力资源,剩下的算力资源即为该边缘服务器的空闲算力资源。这样一来,如果运行云应用所需的算力资源突然增加时,可以采用一部分预留算力资源来运行云应用,不必打断分布式离线任务的执行。
112.在实际应用中,不同的云应用、以及同一个云应用的不同场景对算力资源的需求都是不一样的,因此在计算运行云应用所需的第二算力资源时,可以计算每个云应用的每个云应用的不同场景所需的算力资源,然后取这些算力资源中最小的,作为该边缘服务器运行云应用所需的第二算力资源。其中,第二算力资源可以包括cpu算力资源、gpu算力资源、内存、网络带宽以及吞吐量中任意一个或多个,cpu算力资源一般可以包括cpu每秒所执行的浮点运算次数,和/或cpu每秒所执行的操作次数,gpu算力资源可以包括gpu每秒所执行的浮点运算次数,和/或gpu每秒所执行的操作次数。由于单个边缘服务器以及该边缘服务器所属的边缘计算节点都会影响空闲算力资源,因此网络带宽是依据内网带宽和外网带宽确定的,具体可以是将内网带宽和外网带宽中的较小者作为该边缘服务器的网络外宽。
113.步骤s302、在保证云应用正常运行的情况下,采用边缘服务器的空闲算力资源执行分布式离线任务。
114.由前述可知,离线任务以及对离线任务进行分割得到的每个子任务均会对应一个执行时长阈值,因此分布式离线任务也会对应一个执行时长阈值。可选的,在采用边缘服务器中的空闲算力资源执行分布式离线任务,包括:基于边缘服务器的空闲算力资源确定执行完成分布式离线任务所需时长;如果所需时长小于分布式离线任务对应的执行时长阈值,则采用边缘服务器中的空闲算力资源执行分布式离线任务。
115.在一个实施例中,每个边缘服务器中的空闲算力资源可以指边缘服务器中除运行云应用所需的第二算力资源外的剩余算力资源,当边缘服务器在执行分布式离线任务过程中,如果检测到该边缘服务器中运行云应用所需的资源突然增加,大于第二算力资源,此时为了保证云应用的正常运行,边缘服务器可能需要执行算力释放操作。具体实现中,可以获取分布式离线任务在边缘服务器中的停留时长;根据该停留时长与该分布式离线任务对应的执行时长阈值之间的关系,执行算力释放操作。
116.其中,如果停留时长与执行时长阈值之间的时间差大于时间差阈值,表明还有充足的时间来执行分布式离线任务,此时算力释放操作可以包括暂停执行该分布式离线任务,以便于后续当云应用所需的算力资源小于或等于第二算力资源时,重新启动执行该分布式离线任务。如果停留时长与执行时长阈值之间的时间差小于时间差阈值表明剩下的用
于执行该分布式离线任务的时间不多了,此时可能不能等待该边缘服务器恢复了足够的空闲资源后,再继续启动执行该分布式离线任务,可能需要终止执行该分布式离线任务,并告知管理服务器重新选择具有充足的空闲算力资源的边缘服务器来执行该分布式离线任务。因此,如果停留时长与执行时长阈值之间的时间差小于时间差阈值,则算力释放操作可以包括终止执行分布式离线任务。
117.可选的,如果算力释放操作是指暂停执行分布式离线任务,则在执行算力释放操作之后,边缘服务器可以定期检测边缘服务器的空闲算力资源;如果检测到该边缘服务器的空闲算力资源大于了第一算力资源,则启动执行该分布式离线任务;若边缘服务器的空闲算力资源小于第一算力资源,且分布式离线任务在边缘服务器中的停留时长与执行时长阈值之间的差值小于时间差阈值,则终止执行分布式离线任务。也就是说,在定期检测边缘服务器的空闲算力资源过程中,如果发现边缘服务器的空闲算力资源不足以用来执行分布式离线任务,但是距离执行时长阈值的剩余时间不多了,因此,该边缘服务器只能放弃继续该分布式离线任务,告知管理服务器重新调度新的边缘服务器来执行该分布式离线任务。
118.可选的,边缘服务器在执行分布式离线任务过程中,如果预测到该边缘服务器无法在执行时长阈值内完成该分布式离线任务,则可以向管理服务器发送超时提示信息,该超时提示信息用于告知该边缘服务器执行完成分布式离线任务所需时长大于该分布式离线任务对应的执行时长阈值,管理服务器应该重新分配新的边缘服务器来执行分布式离线任务。
119.本发明实施例中,边缘服务器接收管理服务器分布式调度的分布式离线任务,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是n个任务中的与边缘服务器相匹配的子任务,这n个子任务可以是基于用于执行离线任务的n个边缘服务器的空闲算力资源对离线任务进行分割处理得到的;在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行分布式离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
120.基于上述业务处理方法的实施例,本发明实施例提供了一种业务处理系统。参见图4,为本发明实施例提供的一种业务处理系统的结构示意图,图4所示的业务处理系统中可以包括一个对边缘计算节点进行管理的管理服务器401,以及包括至少一个边缘服务器402,至少一个边缘服务器402被分配至p个边缘计算节点403,每个边缘计算节点403中包括一个或多个边缘服务器。
121.在一个实施例中,每个边缘服务器402中包括一个核心功能模块,该核心功能模块主要用于云应用的核心功能实现,比如对于云游戏来说,该核心功能模块用于游戏的渲染、游戏逻辑计等功能。在本发明实施例中,此模块的算力资源需求设置为最高优先级,也就是说无论一个边缘正在执行什么样的离线任务,如果发现该模块需要更多的算力资源,那么都会优先为该模块分配足够的算力资源。
122.在一个实施例中,每个边缘服务器402中还可以包括一个算力管理模块,算力管理模块用于对该边缘服务器的算力资源进行管理,确保本机所有实时在线任务的需求不超出物理算力上限。算力管理模块主要功能可以包括:
123.(1)本机实时的空闲算力资源收集以及上报,数据上报到管理服务器,可以作为后续离线任务调度的依据;应当理解的,此时可以直接将本机的空闲算力资源上报给管理服务器401,也可以是将本机已占用的算力资源和可用的总算力资源上报给管理服务器401,由管理服务器401基于已占用的算力资源和可用的总算力资源统计该边缘服务器的空闲算力资源;
124.(2)本机算力管理,当实时在线任务(本发明实施例主要指云应用)所需算力超出本机的当前可用的算力上限时,如果有离线任务正在运行,通知离线任务调度模块释放算力;如果没有离线任务或者暂停了所有离线任务后仍然超出本机的当前可用的算力上限,则通知管理服务器调度部分云应用实例到其他边缘服务器;
125.在一个实施例中,边缘服务器402还可以包括离线任务调度模块,离线任务调度模块4023主要用于对管理服务器分布式调度至本机的离线任务进行调度,主要功能可以包括:
126.(1)启动任务。接收到管理服务器下发的离线任务(此处的离线任务可以指一个完整的离线任务,也可以指一个完成的离线任务被分割后的一个子任务)后,计算本机的空闲算力资源是否满足需求,主要是确定本机的空闲算力资源是否能够在执行时长阈值内完成该离线任务;如果满足,则启动离线任务。离线任务调度模块还会定期检查本机离线任务的执行状态,针对因空闲算力不足而暂停执行的离线任务,重新检查当前的空闲算力资源,如果当前的空闲算力资源仍然不足,则检查该离线任务在本机的停留时长,如果停留时长与执行时长阈值之间的时间差值小于时间差阈值,或者停留时长超出了执行时长阈值,则终止执行该离线任务;
127.(2)释放算力。当算力管理模块检测到当前实时在线任务所需的算例不足,通知此模块释放执行算力释放操作,具体可以包括暂停执行离线任务(针对还有充足完成时间的任务,也就是前述的,离线任务在本机的停留时长与执行时长阈值之间的时间差大于时间差阈值),或者终止执行离线任务(针对需要马上完成的任务,也就是前述提到的,离线任务在本机的停留时长与执行时长阈值之间的时间差小于时间差阈值);
128.(3)暂停离线任务。根据释放算力部分的指令对离线任务进行暂停操作;
129.(4)完成离线任务。当离线任务执行完成时,清理本机的临时数据,并把执行完成的计算上报给管理服务器;
130.(5)终止离线任务。当本机的空闲算力资源无法在执行时长阈值内完成该离线任务,或者本机需要进行停机维护等异常情况发生时,终止执行离线任务,并通过管理服务器把离线任务分配给其他边缘服务器。
131.在一个实施例中,管理服务器401可以包括空闲容量预测模块,该空闲容量预测模块主要用于根据各个边缘服务器上报的算力资源数据,计算出各个边缘服务器的空闲算力资源以及各个边缘计算节点的节点空闲算力资源。
132.在一个实施例汇总,管理服务器401还可以包括离线任务管理模块,离线任务管理模块主要的功能可以包括:
133.(1)任务接收。接收用户上传的离线任务,对该离线任务进行分类,主要分类可以包括该离线任务是否具有时效要求,以及该离线任务的主要负载是gpu型还是gpu型,该离线任务是否可以进行分布式执行;
134.(2)任务分配。根据执行该离线任务所需的算力资源与各个边缘服务器的空闲算力资源进行匹配,以将离线任务分配到合适的边缘服务器;如果一个单个边缘服务器无法单独完成该离线任务,则将该离线任务分发给分布式调度模块,由分布式调度模块进行分配;
135.(3)任务过程管理。接收执行云应用的边缘服务器上报的任务执行状态,如果根据任务执行状态判断离线任务被执行完成,则校验执行结果后反馈给用户;如果根据任务执行状态判断出离线任务执行异常,或者长时间没有接收到边缘服务器上报的任务执行状态,则将离线任务重新调度到新的边缘服务器。
136.在一个实施例中,管理服务器401还包括策略管理模块,策略管理模块4013的主要功能可以包括:
137.(1)白名单管理。针对部分边缘服务器需要运行高优先级、不可被打断的云应用,需要将这部分边缘服务器加入到预设的白名单中以确保这部分边缘服务器不被调度离线任务。同时这些边缘服务器也不需要一直在预设表名单中,高优先级的云应用结束后,将这些边缘服务器从预设的白名单移除;
138.(2)边缘服务器状态管理。边缘服务器的工作状态包括忙碌状态和空闲状态。当一个边缘服务器上报当前边缘服务器已经超过负载上限时,需要将该边缘服务器的工作状态设置为忙碌状态,避免分配新的离线任务以及云应用实例到该边缘服务器。当该边缘服务器告知管理服务器当前处于空闲时,将该边缘服务器的工作状态修改为空闲状态,并可以重新计算该边缘付服务器的空闲算力资源。
139.在一个实施例中,管理服务器401还可以包括分布式调度模块,分布式调度模块主要功能包括:
140.(1)任务调度。把一个大的离线任务根据用于执行离线任务的各个边缘服务器的空闲算力资源,拆分为多个子任务,将每个子任务分配给一个边缘服务器进行执行;当各个边缘服务器完成了相应子任务的执行后,向管理服务器401上报执行结果,管理服务器将上报的执行结果进行汇总后得到最终执行结果;
141.(2)异常边缘服务器管理。当某个边缘服务器因为实时计算出现异常、掉线、计算超时等异常情况出现时,及时发现并将离线任务调度到其他边缘服务器进行执行。
142.在一个实施例中,管理服务器401还可以包括云应用实例调度模块,该模块用于根据各个边缘服务器的算力资源以及各个边缘计算节点的节点算力资源情况动态分配云应用的实例,避免单个边缘服务器出现过载情况。
143.在上述业务处理系统中,当管理服务器接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器。
144.n个边缘服务器中的任意一个边缘服务器接收到管理服务器分布式调度的离线任务后,在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力
资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
145.另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
146.基于上述的业务处理方法的实施例,本发明实施例提供了一种业务处理装置。参见图5,为本发明实施例提供的一种业务处理装置的结构示意图。图5所示的业务处理装置可运行如下单元:
147.确定单元501,用于确定执行离线任务所需的第一算力资源;
148.所述确定单元501,还用于确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;
149.调度单元502,用于将所述离线业务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用每个边缘服务器中的空闲算力资源执行所述离线任务。
150.在一个实施例中,所述调度单元502在将所述离线业务分布式调度至所述n个边缘服务器时,执行如下步骤:
151.基于所述n个边缘服务器中每个边缘服务器的空闲算力资源,将所述离线任务分割为n个子任务,所述n个子任务中每个子任务与一个边缘服务器相匹配;所述每个子任务相匹配的边缘服务器的空闲算力资源大于执行所述每个子任务所需的算力资源;将所述每个子任务分别分配至所述每个子任务相匹配的边缘服务器,以使每个边缘服务器执行相匹配的子任务。
152.在一个实施例中,所述云应用被部署至m个边缘服务器中执行,所述m个边缘服务器被分配至p个边缘计算节点中,每个边缘计算节点中部署有一个或多个边缘服务器,m和p均为大于或等于1的整数;所述确定单元501在确定用于执行所述离线任务的n个边缘服务器时,执行如下步骤:
153.从所述p个边缘计算节点中选择l个边缘计算节点,所述l个边缘计算节点的节点空闲算力资源大于所述第一算力资源,所述l个边缘计算节点的节点空闲算力资源是指每个边缘计算节点的节点空闲算力资源之和;所述每个边缘节点的节点空闲算力资源是根据所述每个边缘节点中部署的边缘服务器的空闲算力资源得到的;
154.基于所述l个边缘计算节点包括的每个边缘服务器的属性信息,从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器;根据所述至少一个候选的边缘服务器中每个边缘服务器的空闲算力资源和所述第一算力资源,从所述至少一个候选的边缘服务器中确定n个边缘服务器。
155.在一个实施例中,所述每个边缘服务器的属性信息包括每个边缘服务器的工作状态,所述工作状态包括空闲状态或者忙碌状态,所述确定单元501在从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器时,执行如下步骤:
156.将所述l个边缘计算节点包括的边缘服务器中,工作状态为空闲状态的边缘服务
器确定为候选的边缘服务器。
157.在一个实施例中,所述每个边缘服务器的属性信息包括每个边缘服务器所属的服务器类型分组,所述服务器类型分组包括预设白名单组和普通组,所述基于所述l个边缘计算节点包括的每个边缘服务器的属性信息,所述确定单元501在从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器时,执行如下步骤:
158.将所述l个边缘计算节点包括的边缘服务器中,所属的服务器类型分组为普通组的边缘服务器确定为候选的边缘服务器。
159.在一个实施例中,所述业务处理装置还包括处理单元503,所述处理单元503用于:在每个边缘服务器执行相匹配的子任务过程中,监测每个边缘服务器对相匹配的子任务的执行情况;若监测到n个边缘服务器中任意一个边缘服务器在执行相匹配的子任务时发生异常,则重新选择一个边缘服务器执行所述任意一个边缘服务器相匹配的子任务。
160.在一个实施例中,一个子任务对应一个执行时长阈值,业务处理装置还包括接收单元504,所述接收单元504用于在每个边缘服务器执行相匹配的子任务过程中,接收任意一个边缘服务器上报的超时提示信息,所述超时提示信息用于指示所述任意一个边缘服务器执行完成相匹配的子任务所需时长大于相匹配的子任务对应的执行时长阈值,需重新分配新的边缘服务器执行任意一个边缘服务器相匹配的子任务。
161.在一个实施例中,所述第一算力资源包括以下任意一项或多项:图形处理器算力资源、中央处理器算力资源、内存、网络带宽以及网络吞吐量;其中,所述图形处理器算力资源包括如下至少一种:图形处理器每秒所执行的浮点运算次数以及图形处理器每次所执行的操作次数;所述中央处理器算力资源包括如下至少一种:中央处理器每秒所执行的浮点运算次数以及中央处理器每秒所执行的操作次数。
162.在一个实施例中,所述确定单元在确定执行离线任务所需的第一算力资源时,执行如下步骤:
163.基于任务类型和计算复杂度之间的对应关系,确定与所述离线任务的任务类型对应的计算复杂度;根据确定的计算复杂度从历史离线任务中查找至少一个匹配历史离线任务,每个匹配历史离线任务对应的计算复杂度与确定的计算复杂度相匹配;基于执行每个匹配历史离线任务所使用的算力资源对所述离线任务所需的算力资源进行估算,得到执行所述离线任务所需的第一算力资源。
164.根据本发明的一个实施例,图2所示的业务处理方法所涉及各个步骤可以是由图5所示的业务处理装置中的各个单元来执行的。例如,图2所述的步骤s201和s202可由图5所示的业务处理装置中的确定单元501来执行,步骤s203可由图5所示的业务处理装置中调度单元502来执行。
165.根据本发明的另一个实施例,图5所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
166.根据本发明的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的业务处理装置,以及来实现本发明实施例业务处理方法。所述计算机程序可以记载于例如计算存储介质上,并通过计算存储介质装载于上述节点设备中,并在其中运行。
167.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
168.基于上述业务处理方法的实施例以及业务处理装置的实施例,本发明实施例还提供了另一种业务处理装置。参见图6,为本发明实施例提供的另一种业务处理装置的结构示意图。图6所示的业务处理装置可运行如下单元:
169.接收单元601,用于接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的离线任务,或者所述分布式离线任务包括n个子任务中与边缘服务器相匹配的子任务,所述n个子任务是将基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到的;所述n个边缘服务器用于执行所述离线任务,所述n个边缘服务器中运行有云应用;
170.执行单元602,用于在保证目标云应用正常执行的情况下,采用所述边缘服务器中的空闲算力资源执行所述分布式离线任务。
171.在一个实施例中,所述分布式离线任务对应一个执行时长阈值,所述执行单元602在采用所述边缘服务器中的空闲算力资源执行所述分布式离线任务时,执行如下步骤:
172.基于所述边缘服务器的空闲算力资源确定执行完成所述分布式离线任务所需时长;如果所需时长小于所述分布式离线任务对应的执行时长阈值,则采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
173.在一个实施例中,所述边缘服务器的空闲算力资源是指所述边缘服务器除运行所述云应用所需的第二算力资源外的剩余算力资源;所述业务处理装置还包括获取单元603;
174.所述获取单元603,用于在执行所述分布式离线任务的过程中,当监测到所述边缘服务器中运行所述云应用所需的资源大于所述第二算力资源时,获取所述分布式离线任务在所述边缘服务器中的停留时长;
175.所述执行单元602,用于根据所述停留时长与所述执行时长阈值之间的关系,执行
算力释放操作;其中,所述算力释放操作包括暂停执行所述分布式离线任务或者终止执行所述分布式离线任务;如果所述停留时长与所述执行时长阈值之间的时间差大于时间差阈值,则所述算力释放操作包括暂停执行所述分布式离线任务;如果所述停留时长与所述执行时长阈值之间的时长差小于时间差阈值,则所述算力释放操作包括终止执行所述分布式离线任务。
176.在一个实施例中,若所述算力释放操作包括暂停执行所述分布式离线任务,所述执行单元602还用于:定期检测所述边缘服务器的空闲算力资源;若所述边缘服务器的空闲算力资源大于所述第一算力资源,则启动执行所述分布式离线任务;若所述边缘服服务器的空闲算力资源小于所述第一算力资源,且所述分布式离线任务在所述边缘服务器中的停留时长与所述执行时长阈值之间的差值小于时间差阈值,则终止执行所述分布式离线任务。
177.在一个实施例中,所述业务处理装置还包括发送单元604,所述发送单元604,用于在所述边缘服务器执行所述分布式离线任务的过程中,如果预测到所述边缘服务器执行完成所述分布式离线任务所需时长大于所述执行时长阈值,则向所述管理服务器发送超时提示信息,所述超时提示信息用于指示所述边缘服务器执行完成所述分布式离线任务所需时长大于所述执行时长阈值,所述管理服务器需重新分配新的边缘服务器执行所述分布式离线任务。
178.根据本发明的一个实施例,图3所示的业务处理方法所涉及各个步骤可以是由图6所示的业务处理装置中的各个单元来执行的。例如,图3所述的步骤s301可由图6所示的业务处理装置中的接收单元601来执行,步骤s302可由图6所示的业务处理装置中执行单元602来执行。
179.根据本发明的另一个实施例,图6所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
180.根据本发明的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的业务处理装置,以及来实现本发明实施例业务处理方法。所述计算机程序可以记载于例如计算存储介质上,并通过计算存储介质装载于上述节点设备中,并在其中运行。
181.本发明实施例中,边缘服务器接收管理服务器分布式调度的分布式离线任务,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是n个任务中的与边缘服务器相匹配的子任务,这n个子任务可以是基于用于执行离线任务的n个边缘服务器的空闲算力资源对离线任务进行分割处理得到的;在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行分布式离线任务。这样一来,无论在云应用的高峰期还是非高峰
期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
182.基于上述的方法实施例以及装置实施例,本发明实施例提供了一种服务器,参见图7,为本发明实施例提供的一种服务器的结构示意图。图7所示的服务器可以对应于前述的管理服务器,图7所示的服务器可以包括处理器701、输入接口702、输出接口703以及计算机存储介质704。其中,处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。
183.计算机存储介质704可以存储在服务器的存储器中,所述计算机存储介质704用于存储计算机程序,所述处理器701用于执行所述计算机存储介质904存储的计算机程序。处理器701(或称cpu(central processing unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
184.确定执行离线任务所需的第一算力资源;确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
185.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
186.基于上述的方法实施例以及装置实施例,本发明实施例提供了另一种服务器,参见图8,为本发明实施例提供的另一种服务器的结构示意图,图8所示的服务器可以对应于前述的边缘服务器。图8所示的服务器可以包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。
187.计算机存储介质804可以存储在终端的存储器中,所述计算机存储介质904用于存储计算机程序,所述处理器801用于执行所述计算机存储介质904存储的计算机程序。处理器801(或称cpu(central processing unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:
188.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;
189.在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
190.本发明实施例中,边缘服务器接收管理服务器分布式调度的分布式离线任务,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是n个任务中的与边缘服务器相匹配的子任务,这n个子任务可以是基于用于执行离线任务的n个边缘服务器的空闲算力资源对离线任务进行分割处理得到的;在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行分布式离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
191.本发明实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是服务器的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括服务器的内置存储介质,当然也可以包括服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了服务器的操作系统。并且,在该存储空间中还存放了适于被处理器801或者处理器901加载并执行的计算机程序。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
192.在一个实施例中,所述计算机存储介质中存储计算机程序可由处理器801加载并执行:
193.确定执行离线任务所需的第一算力资源;确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
194.在一个实施例中,所述处理器801在将所述离线业务分布式调度至所述n个边缘服务器时,执行如下步骤:
195.基于所述n个边缘服务器中每个边缘服务器的空闲算力资源,将所述离线任务分割为n个子任务,所述n个子任务中每个子任务与一个边缘服务器相匹配;所述每个子任务相匹配的边缘服务器的空闲算力资源大于执行所述每个子任务所需的算力资源;将所述每个子任务分别分配至所述每个子任务相匹配的边缘服务器,以使每个边缘服务器执行相匹配的子任务。
196.在一个实施例中,所述云应用被部署至m个边缘服务器中执行,所述m个边缘服务器被分配至p个边缘计算节点中,每个边缘计算节点中部署有一个或多个边缘服务器,m和p均为大于或等于1的整数;所述处理器801在确定用于执行所述离线任务的n个边缘服务器
时,执行如下步骤:
197.从所述p个边缘计算节点中选择l个边缘计算节点,所述l个边缘计算节点的节点空闲算力资源大于所述第一算力资源,所述l个边缘计算节点的节点空闲算力资源是指每个边缘计算节点的节点空闲算力资源之和;所述每个边缘节点的节点空闲算力资源是根据所述每个边缘节点中部署的边缘服务器的空闲算力资源得到的;
198.基于所述l个边缘计算节点包括的每个边缘服务器的属性信息,从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器;
199.根据所述至少一个候选的边缘服务器中每个边缘服务器的空闲算力资源和所述第一算力资源,从所述至少一个候选的边缘服务器中确定n个边缘服务器。
200.在一个实施例中,所述每个边缘服务器的属性信息包括每个边缘服务器的工作状态,所述工作状态包括空闲状态或者忙碌状态,所述基于所述l个边缘计算节点包括的每个边缘服务器的属性信息;所述处理器801在从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器时,执行如下步骤:将所述l个边缘计算节点包括的边缘服务器中,工作状态为空闲状态的边缘服务器确定为候选的边缘服务器。
201.在一个实施例中,所述每个边缘服务器的属性信息包括每个边缘服务器所属的服务器类型分组,所述服务器类型分组包括预设白名单组和普通组,所述基于所述l个边缘计算节点包括的每个边缘服务器的属性信息,所述处理器801在从所述l个边缘计算节点包括的边缘服务器中确定至少一个候选的边缘服务器时,执行如下步骤:将所述l个边缘计算节点包括的边缘服务器中,所属的服务器类型分组为普通组的边缘服务器确定为候选的边缘服务器。
202.在一个实施例中,所述处理器801还用于:在每个边缘服务器执行相匹配的子任务过程中,监测每个边缘服务器对相匹配的子任务的执行情况;若监测到n个边缘服务器中任意一个边缘服务器在执行相匹配的子任务时发生异常,则重新选择一个边缘服务器执行所述任意一个边缘服务器相匹配的子任务。
203.在一个实施例中,一个子任务对应一个执行时长阈值,所述处理器801还用于:在每个边缘服务器执行相匹配的子任务过程中,接收任意一个边缘服务器上报的超时提示信息,所述超时提示信息用于指示所述任意一个边缘服务器执行完成相匹配的子任务所需时长大于相匹配的子任务对应的执行时长阈值,需重新分配新的边缘服务器执行任意一个边缘服务器相匹配的子任务。
204.在一个实施例中,所述第一算力资源包括以下任意一项或多项:图形处理器算力资源、中央处理器算力资源、内存、网络带宽以及网络吞吐量;其中,所述图形处理器算力资源包括如下至少一种:图形处理器每秒所执行的浮点运算次数以及图形处理器每次所执行的操作次数;所述中央处理器算力资源包括如下至少一种:中央处理器每秒所执行的浮点运算次数以及中央处理器每秒所执行的操作次数。
205.在一个实施例中,所述处理器801在确定执行离线任务所需的第一算力资源时,执行如下步骤:基于任务类型和计算复杂度之间的对应关系,确定与所述离线任务的任务类型对应的计算复杂度;根据确定的计算复杂度从历史离线任务中查找至少一个匹配历史离线任务,每个匹配历史离线任务对应的计算复杂度与确定的计算复杂度相匹配;基于执行每个匹配历史离线任务所使用的算力资源对所述离线任务所需的算力资源进行估算,得到
执行所述离线任务所需的第一算力资源。
206.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
207.在一个实施例中,所述计算机存储介质中存储的计算机程序可由处理器901加载并执行:
208.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
209.在一个实施例中,所述分布式离线任务对应一个执行时长阈值,所述处理器901在采用所述边缘服务器的空闲算力资源执行所述分布式离线任务时,执行如下步骤:
210.基于所述边缘服务器的空闲算力资源确定执行完成所述分布式离线任务所需时长;如果所需时长小于所述分布式离线任务对应的执行时长阈值,则采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
211.在一个实施例中,所述边缘服务器的空闲算力资源是指所述边缘服务器除运行所述云应用所需的第二算力资源外的剩余算力资源;所述处理器901还用于执行:
212.在执行所述分布式离线任务的过程中,当监测到所述边缘服务器中运行所述云应用所需的资源大于所述第二算力资源时,获取所述分布式离线任务在所述边缘服务器中的停留时长;
213.根据所述停留时长与所述执行时长阈值之间的关系,执行算力释放操作;其中,所述算力释放操作包括暂停执行所述分布式离线任务或者终止执行所述分布式离线任务;如果所述停留时长与所述执行时长阈值之间的时间差大于时间差阈值,则所述算力释放操作包括暂停执行所述分布式离线任务;如果所述停留时长与所述执行时长阈值之间的时长差小于时间差阈值,则所述算力释放操作包括终止执行所述分布式离线任务。
214.在一个实施例中,所述算力释放操作包括暂停执行所述分布式离线任务,在执行算力释放操作后,所述处理器901还用于执行:
215.定期检测所述边缘服务器的空闲算力资源;若所述边缘服务器的空闲算力资源大于所述第一算力资源,则启动执行所述分布式离线任务;若所述边缘服服务器的空闲算力
资源小于所述第一算力资源,且所述分布式离线任务在所述边缘服务器中的停留时长与所述执行时长阈值之间的差值小于时间差阈值,则终止执行所述分布式离线任务。
216.在一个实施例中,所述处理器901还用于执行:在所述边缘服务器执行所述分布式离线任务的过程中,如果预测到所述边缘服务器执行完成所述分布式离线任务所需时长大于所述执行时长阈值,则向所述管理服务器发送超时提示信息,所述超时提示信息用于指示所述边缘服务器执行完成所述分布式离线任务所需时长大于所述执行时长阈值,所述管理服务器需重新分配新的边缘服务器执行所述分布式离线任务。
217.本发明实施例中,边缘服务器接收管理服务器分布式调度的分布式离线任务,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是n个任务中的与边缘服务器相匹配的子任务,这n个子任务可以是基于用于执行离线任务的n个边缘服务器的空闲算力资源对离线任务进行分割处理得到的;在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行分布式离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
218.根据本技术的一个方面,本发明实施例还提供了一种计算机产品或计算机程序,该计算机产品包括计算机程序,计算机程序存储在计算存储介质中。
219.可选的,处理器801从计算存储介质中读取计算机程序,使得服务器加载并执行:确定执行离线任务所需的第一算力资源;确定用于执行所述离线任务的n个边缘服务器,所述n个边缘服务器中运行有云应用;所述n个边缘服务器的空闲算力资源大于所述第一算力资源,所述n个边缘服务器的空闲算力资源是指所述n个边缘服务器中各个边缘服务器的空闲算力资源之和,n为大于或等于1的整数;将所述离线任务分布式调度至所述n个边缘服务器,以使所述n个边缘服务器中每个边缘服务器在保证所述云应用正常运行的情况下,使用所述每个边缘服务器的空闲算力资源执行所述离线业务。
220.本发明实施例中,当接收到待执行的离线任务后,先评估执行该离线任务所需的第一算力资源,进一步的,获取用于执行该离线任务的n个边缘服务器,这n个边缘服务器的空闲算力资源大于执行离线任务所需的第一算力资源,n个边缘服务器的空闲算力资源是指每个边缘服务器的空闲算力资源之和。将该离线任务分布式调度至n个边缘服务器,以使n个边缘服务器中的每个边缘服务器在保证云应用正常运行的情况下,采用每个边缘服务器的空闲算力资源执行该离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用每个边缘服务器中的空闲算力资源来执行离线任务,避免了每个边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。另外,n个可以取值为1或大于1,当n取值为1时可以保证离线任务的集中执行,为离线任务的执行管理提供便利;当n取值大于1时,实现了离线任务的分布式执行,这种分布式执行方式不仅能够保证离线任务的执行进度,还可以分担各个边缘服务器的负载,从而保证各个边缘服务器中云应用能够正常运行。
221.可选的,处理器901从计算存储介质中读取计算机程序,处理器901执行该计算机程序,使得服务器执行:
222.接收管理服务器分布式调度的分布式离线任务,所述分布式离线任务包括所述管
理服务器接收到的所述离线任务;或者,所述分布式离线任务包括n个子任务中与所述边缘服务器相匹配的子任务,所述n个子任务是基于n个边缘服务器中每个边缘服务器的空闲算力资源对所述离线任务进行分割处理得到;在保证所述云应用正常执行的情况下,采用所述边缘服务器的空闲算力资源执行所述分布式离线任务。
223.本发明实施例中,边缘服务器接收管理服务器分布式调度的分布式离线任务,该分布式离线任务可以是管理服务器接收到的离线任务,也可以是n个任务中的与边缘服务器相匹配的子任务,这n个子任务可以是基于用于执行离线任务的n个边缘服务器的空闲算力资源对离线任务进行分割处理得到的;在保证云应用正常运行的情况下,采用该边缘服务器的空闲算力资源执行分布式离线任务。这样一来,无论在云应用的高峰期还是非高峰期,均能保证云应用正常运行的情况下,还可以利用该边缘服务器中的空闲算力资源来执行分布式离线任务,避免了边缘服务器中算力资源的浪费,提高了算力资源的利用率,从而也降低了边缘服务器的运营成本。
再多了解一些

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

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

相关文献