本技术涉及物联网,尤其是涉及一种端边云协作式分布式计算方法、装置、设备及介质。
背景技术:
1、iot(物联网,internet of things)作为当前信息技术领域中的一项关键技术,正在迅速发展。iot在各个领域都存在着广泛的应用,如智能家居、智慧城市、智慧医疗、工业物联网、自主驾驶和车载网络、大规模视频监控以及元宇宙的底层虚拟现实(vr)和增强现实(ar)技术等。这些领域中物联网设备产生大量的数据,而ai的发展正是基于数据,两者自然而然地结合在一起,诞生了人工智能物联网aiot。
2、正是由于iot和aiot的蓬勃发展,推动了边缘云也叫做分布式云,成为了现在的主流技术。边缘计算是一种分布式计算架构,主要是利用云计算、物联网、5g等技术,将互联网所需要的数据和计算,从云端推广到边缘侧来实现,让实时数据处理和智能化成为可能。边缘计算不仅减少了对网络的需求,还降低了计算和决策所带来的延迟,增加了实时的反馈。同时ai推广到边缘云形成edge ai,将分布式学习推广到在边缘网络上来进行,从而使边缘端拥有离线智能,更快的响应速度和更好的数据隐私保护。
3、随着物联网技术和边缘计算的蓬勃发展,数据量和算力需求呈现指数级增长,给边缘计算带来更多的建造成本和计算压力。相关技术通常是由一个中心节点负责收集和处理来自边缘设备和云端的信息,并根据这些信息进行任务分配和调度,但是面对大量设备和计算任务时,中心节点的处理能力和通信能力可能无法满足需求,导致对计算任务的处理效率过低。
技术实现思路
1、为了解决现有技术处理计算任务效率低的问题,本技术提供一种端边云协作式分布式计算方法、装置、设备及介质。
2、第一方面,本技术提供了一种端边云协作式分布式计算方法,采用如下技术方案:
3、一种端边云协作式分布式计算方法,包括:
4、获取资源池中每一设备的性能信息、计算任务以及所述计算任务的性能需求,所述性能需求包括执行所述计算任务所需的cpu算力、gpu算力、内存和带宽;
5、将所述计算任务划分为多个子任务,根据所述资源池中每一设备的性能信息以及执行所述计算任务所需的cpu算力、gpu算力、内存和带宽,从所述资源池中确定多个目标设备,并将所述多个子任务分配给所述多个目标设备,以使每一目标设备执行对应的一个子任务;
6、对所述多个目标设备分别进行流量监控和性能监测,得到所述多个目标设备各自对应的流量监测结果和性能监测结果;
7、根据所述多个目标设备各自对应的流量监测结果和性能监测结果,对所述多个子任务进行任务调度,以使所述资源池中接收到子任务的设备按照任务调度结果执行对应的子任务。
8、通过采用上述技术方案,获取资源池中每一设备的性能信息,能够为后续的任务分配提供数据基础,将计算任务划分为多个子任务,使得大型计算任务能够被分解为更小、更易管理的多个子任务,提高任务处理效率,根据设备性能信息和计算任务的性能需求,从资源池中确定多个目标设备用于执行多个子任务,确保每一子任务都能在合适的设备上执行,实现负载均衡和效率最大化,对已分配子任务的设备进行监测并手机流量数据和性能数据,以实时了解设备的工作状态,及时发现和解决潜在问题,确保任务执行的稳定性,根据流量监测结果和性能监测结果对多个子任务进行任务调度,能够优化资源池的设备资源利用,提高整体的任务处理效率。
9、本技术在一较佳示例中可以进一步配置为:根据所述资源池中每一设备的性能信息以及执行所述计算任务所需的cpu算力、gpu算力、内存和带宽,从所述资源池中确定多个目标设备,包括:
10、获取所述计算任务对应的地域需求和运营商需求;
11、根据所述地域需求和运营商需求,从所述资源池中确定多个初始目标设备;
12、根据所述资源池中每一设备的性能信息以及执行所述计算任务所需的cpu算力、gpu算力、内存和带宽,从所述多个初始目标设备中确定多个目标设备。
13、通过采用上述技术方案,考虑了地域需求和运营商需求,能够筛选出符合地域需求和运营商需求的多个初始目标设备,满足地域需求能够提高设备的响应速度和服务质量,满足运营商需求可以确保数据传输的可靠性和效率,缩小了选择范围,提高了后续确定多个目标设备的准确性。
14、本技术在一较佳示例中可以进一步配置为:所述流量监测结果包括数据传输量、数据传输速度和数据传输方向,所述性能监测结果包括cpu性能、gpu性能、可用内存以及可用带宽,
15、根据所述多个目标设备各自对应的流量监测结果和性能监测结果,对所述多个子任务进行任务调度,包括:
16、根据所述多个目标设备各自对应的流量监测结果和性能监测结果,从所述多个目标设备中确定不符合预设条件的第一设备集,所述预设条件为目标设备的数据传输量、数据传输速度、数据传输方向、cpu性能、gpu性能、可用内存以及可用带宽均满足各自对应的预设范围;
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、获取模块,用于获取资源池中每一设备的性能信息、计算任务以及所述计算任务的性能需求,所述性能需求包括执行所述计算任务所需的cpu算力、gpu算力、内存和带宽;
44、划分模块,用于将所述计算任务划分为多个子任务,根据所述资源池中每一设备的性能信息以及执行所述计算任务所需的cpu算力、gpu算力、内存和带宽,从所述资源池中确定多个目标设备,并将所述多个子任务分配给所述多个目标设备,以使每一目标设备执行对应的一个子任务;
45、监测模块,用于对所述多个目标设备分别进行流量监控和性能监测,得到所述多个目标设备各自对应的流量监测结果和性能监测结果;
46、调度模块,用于根据所述多个目标设备各自对应的流量监测结果和性能监测结果,对所述多个子任务进行任务调度,以使所述资源池中接收到子任务的设备按照任务调度结果执行对应的子任务。
47、第三方面,本技术提供一种电子设备,采用如下的技术方案:
48、一个或多个处理器;
49、存储器;
50、至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行如第一方面任一项所述的端边云协作式分布式计算方法。
51、第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:
52、一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行如第一方面任一项所述的端边云协作式分布式计算方法。
53、综上所述,本技术包括以下有益技术效果:
54、本技术通过获取资源池中每一设备的性能信息,能够为后续的任务分配提供数据基础,将计算任务划分为多个子任务,使得大型计算任务能够被分解为更小、更易管理的多个子任务,提高任务处理效率,根据设备性能信息和计算任务的性能需求,从资源池中确定多个目标设备用于执行多个子任务,确保每一子任务都能在合适的设备上执行,实现负载均衡和效率最大化,对已分配子任务的设备进行监测并手机流量数据和性能数据,以实时了解设备的工作状态,及时发现和解决潜在问题,确保任务执行的稳定性,根据流量监测结果和性能监测结果对多个子任务进行任务调度,能够优化资源池的设备资源利用,提高整体的任务处理效率。