本发明涉及分布式云,尤其涉及一种分布式云的任务分配方法、装置、设备及存储介质。
背景技术:
1、车联网是一种智能交通系统,它将车辆、道路、交通管理机构和用户等多个参与者连接起来,实现信息的共享和交流。车联网领域需要分布式计算资源的主要理由包括实时数据处理需求、地理分布广泛、大规模系统扩展性和数据隐私与安全性等方面。分布式车联云通过将数据处理和存储分散到多个位置(即中心云、区域云)来提高计算效率和响应速度,特别是在需要快速响应的应用场景中,如自动驾驶和智能交通系统。分布式架构能够减少中心云和区域云的负载,提供更低的时延和更稳定的业务通信支撑,从而改善用户体验。
2、相关技术中,在车联网的分布式系统管理中,在进行任务的分配时,只考虑了车联网的分布式系统管理中每个云端的负载能力,并未考虑其他因素,由于影响任务处理效率的因素较多,因此只根据负载能力对任务进行调度的方法会导致任务的处理效率较低。
技术实现思路
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、第二方面,本技术实施例提供了一种任务分配装置,所述装置包括:
44、目标云确定模块,用于基于每个待分配云的当前任务处理能力得到目标云;所述当前任务处理能力为所述待分配云基于自身的当前负载还能处理其他任务的任务处理能力,所述目标云的当前任务处理能力大于预设值;
45、优先级确定模块,用于针对所述目标云中的多个云节点,基于所述云节点的至少两个属性的属性值及所述至少两个属性的预设权重,得到所述多个云节点的任务分配优先级;所述属性用于表所述云节点处理任务的能力且不同属性所表征的所述云节点处理任务的能力的类型不同;
46、分配模块,用于将待分配任务分配至第一云节点中;所述第一云节点是所述多个云节点中任务分配优先级最高的云节点。
47、在一些可能的实施例中,目标云确定模块还用于:
48、针对每个待分配云,基于所述待分配云的当前负载以及处理时延敏感任务的优先级,得到所述待分配云的当前任务处理能力。
49、在一些可能的实施例中,目标云确定模块具体用于:
50、基于所述待分配云的当前负载以及最大算力,得到所述待分配云的剩余算力;
51、基于所述待分配云的处理时延敏感任务的优先级与所述剩余算力,得到所述待分配云的当前任务处理能力。
52、在一些可能的实施例中,所述分配模块还用于:基于所述目标云的每个云节点的至少两个属性的属性值采用预设的云节点过滤模型进行过滤,得到多个第二云节点;
53、所述针对所述目标云中的多个云节点,基于所述云节点的至少两个属性的属性值及所述至少两个属性的预设权重,得到所述多个云节点的任务分配优先级,包括:
54、针对所述目标云中的每个第二云节点,基于所述第二云节点的至少两个属性的属性值及所述至少两个属性的预设权重,得到所述每个第二云节点的任务分配优先级。
55、在一些可能的实施例中,所述至少两个属性包括位置属性、时延属性、协同属性、可用计算资源属性、加速属性、镜像缓存属性;
56、所述云节点过滤器模型包括:位置过滤模型、时延过滤模型、协同过滤模型、可用计算资源过滤模型、加速过滤模型、镜像缓存过滤模型,其中:
57、所述位置过滤模型用于筛选出位置属性的属性值在终端设备的预设范围内的云节点;所述终端设备为发出所述待分配任务的设备;
58、所述时延过滤模型用于筛选出时延属性的属性值满足预设时延条件的云节点;
59、所述协同过滤模型用于筛选出协同属性的属性值满足预设协同条件的云节点;
60、所述可用计算资源过滤模型用于筛选出可用计算资源属性的属性值满足预设可用计算资源条件的云节点;
61、所述加速过滤模型用于筛选出加速属性的属性值满足预设加速条件的云节点;
62、所述镜像缓存过滤模型用于筛选出镜像缓存属性的属性值满足预设镜像缓存条件的云节点。
63、在一些可能的实施例中,当待分配任务为多个时,所述分配模块具体用于:
64、针对每个待分配任务,基于所述待分配任务在所述第一云节点中每个服务器组上的预测完成时间,将最小预测完成时间作为所述待分配任务对应的目标时间;所述服务器组包括至少一个服务器;
65、根据每个待分配任务对应的目标时间对所述每个待分配任务进行排序,得到任务分配序列;
66、按照所述每个待分配任务在所述任务分配序列中的顺序,基于第一流程将所述每个待分配任务分配至对应的目标服务器组;
67、其中,所述第一流程包括:
68、将所述待分配任务的目标时间对应的至少一个服务器组作为可选服务器组;
69、基于所述可选服务器组的剩余负载量确定所述待分配任务对应的目标服务器组,并将所述待分配任务分配至对应的目标服务器组。
70、在一些可能的实施例中,所述分配模块具体用于:
71、若所述可选服务器组的剩余负载量满足所述待分配任务所需的负载量,则将所述服务器组确定为所述待分配任务对应的目标服务器组;
72、若所述可选服务器组的剩余负载量不满足所述待分配任务所需的负载量,则从其他服务器组中确定出剩余负载量满足所述待分配任务所需的负载量的中间服务器组;其中,所述其他服务器组是所述第一云节点中包含的服务器组中除所述可选服务器组之外的其他服务器组;
73、根据所述待分配任务在每个中间服务器上的预测完成时间,在所述中间服务器中确定所述待分配任务对应的目标服务器组。
74、第三方面,本技术另一实施例还提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术第一方面实施例提供的任一方法。
75、第四方面,本技术另一实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行本技术第一方面实施例提供的任一方法。
76、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种分布式云的任务分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述待分配云的当前负载以及处理时延敏感任务的优先级,得到所述待分配云的当前任务处理能力,包括:
4.根据权利要求1所述的方法,其特征在于,所述针对所述目标云中的多个云节点,基于所述云节点的至少两个属性的属性值及所述至少两个属性的预设权重,得到所述多个云节点的任务分配优先之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述至少两个属性包括位置属性、时延属性、协同属性、可用计算资源属性、加速属性、镜像缓存属性;
6.根据权利要求1所述的方法,其特征在于,当待分配任务为多个时,所述将待分配任务分配至第一云节点中,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述可选服务器组的剩余负载量确定所述待分配任务对应的目标服务器组包括:
8.一种任务分配装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述电子设备执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1-7中任意一项所述的方法。