算力任务的处理方法、装置及电子设备与流程
未命名
10-26
阅读:119
评论:0
1.本技术涉及数据处理
技术领域:
:,尤其涉及一种算力任务的处理方法、装置及电子设备。
背景技术:
::2.算力网络可以准确高效执行超大规模的任务。3.目前,不同算力网络之间差异巨大,算力有限,因此当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量。技术实现要素:4.有鉴于此,本技术提供了一种算力任务的处理方法、装置及电子设备,主要目的在于改善目前不同算力网络之间差异巨大,算力有限,当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量的技术问题。5.第一方面,本技术提供了一种算力任务的处理方法,包括:获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;将所述目标算力任务发送给所述目标算力网络执行。6.第二方面,本技术提供了一种算力任务的处理装置,包括:获取模块,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块,被配置为将所述目标算力任务发送给所述目标算力网络执行。7.第三方面,本技术提供了一种算力任务的处理系统,包括:多个算力网络;所述多个算力网络分别配置有kafka-connector,所述kafka-connector用于收集所述多个算力网络的负载信息和算力任务,并转存储至kafka集群;所述多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给所述各个第二算力网络中的目标算力网络执行。8.第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。9.第五方面,本技术提供了一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。10.借由上述技术方案,本技术提供的一种算力任务的处理方法、装置及电子设备,其中首先获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;再依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,目标算力任务为第一算力网络中的算力任务;然后将目标算力任务发送给目标算力网络执行。与目前现有技术相比,本技术可以依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率,进而可提高算力网络的服务质量。11.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。附图说明12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。13.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。14.图1示出了本技术实施例提供的一种算力任务的处理方法的流程示意图;图2示出了本技术实施例提供的一种算力任务的处理方法的流程示意图;图3示出了本技术实施例提供的一种示例的功能示意图;图4示出了本技术实施例提供的一种示例的架构示意图;图5示出了本技术实施例提供的一种示例的功能示意图;图6示出了本技术实施例提供的一种示例的功能示意图;图7示出了本技术实施例提供的一种算力任务的处理装置的结构示意图。具体实施方式15.下面将参照附图更详细地描述本技术的实施例。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。16.为了改善目前不同算力网络之间差异巨大,算力有限,当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量的技术问题。本实施例提供了一种算力任务的处理方法,如图1所示,该方法包括:步骤101、获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息。17.算力网络是一种根据业务需求,在云、网、边之间按需分配和灵活调度计算资源、存储资源以及网络资源的新型信息基础设施。18.在本技术实施例中,第一算力网络可为不同算力网络中的任一算力网络,具体可为任意一个需要将任务发送给其他算力网络的算力网络,第二算力网络可以为除去第一网络之外的其他算力网络。19.而对于本实施例的执行主体可为算力任务的处理装置或设备,可配置在第一算力网络的端侧。20.在本技术实施例中,从第一算力网络发送算力任务,到第二算力网络执行所对应的负载信息可以用于评价第二算力网络执行从第一算力网络中发出的算力任务所对应的算力网络负载情况。21.在本技术实施例中,从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息,可以用于衡量将第一算力网络的算力任务具体发送到哪一个第二算力网络进行执行。22.可选的,从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息可以为包含第一算力网络发送算力任务,到a算力网络(第二算力网络)执行所对应的负载信息、第一算力网络发送算力任务,到b算力网络(第二算力网络)执行所对应的负载信息、第一算力网络发送算力任务,到c算力网络(第二算力网络)执行所对应的负载信息等等负载信息的集合。23.步骤102、依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络。24.其中,目标算力任务为第一算力网络中的算力任务。25.在本技术实施例中,目标算力任务可为在第一算力网络中执行失败或在第一算力网络中执行超时的算力任务。相应的,目标算力网络为在各个第二算力网络中,通过调度算法依据步骤101得到的各个负载信息,确定的最适合用来处理目标任务的第二算力网络。26.步骤103、将目标算力任务发送给目标算力网络执行。27.在一些实施例中,目标算力网络对目标算力任务的执行结果也可返回给第一算力网络,或者直接返回给该目标算力任务的请求方等。28.与目前现有技术相比,通过应用本实施例的技术方案,可以依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率,进而可提高算力网络的服务质量。29.为了进一步说明本实施例方法的具体实施过程,本实施例提供了如图2所示的具体方法,该方法包括:步骤201、获取第一算力网络与各个第二算力网络的距离信息,以及第一算力网络向各个第二算力网络发送消息的历史记录信息。30.可选的,第一算力网络与各个第二算力网络的距离信息可以包含第一算力网络与a网络(第二算力网络)之间的距离信息、第一算力网络与b网络(第二算力网络)之间的距离信息、第一网络与c网络(第二算力网络)之间的距离信息等等的距离信息集合。31.在本技术实施例中,历史记录信息可包括第一网络向第二网络发送消息的历史成功次数。32.相应的,第一算力网络向各个第二算力网络发送消息的历史记录信息可以包含第一算力网络向a网络(第二算力网络)发送消息的历史成功次数、第一算力网络向b网络(第二算力网络)发送消息的历史成功次数、第一算力网络向c网络(第二算力网络)发送消息的历史成功次数等等的历史成功次数的数据集合。33.可选的,以第一算力网络为算力网络a、各个第二算力网络包含算力网络b、算力网络c、算力网络d,算力网络a中的执行超时或执行失败的任务为任务a为例。34.示例性的,分别获取算力网络a与算力网络b之间的距离x1、算力网络a与算力网络c之间的距离x2、算力网络a与算力网络d之间的距离x3。35.可选的,历史记录信息可以包括第一算力网络向第二算力网络发送消息的历史成功次数。36.相应的,分别获取算力网络a向算力网络b发送消息的历史成功次数n1、算力网络a向算力网络c发送消息的历史成功次数n2、算力网络a向算力网络d发送消息的历史成功次数n3。37.本实施例可根据第一算力网络与各个第二算力网络的距离信息,以及第一算力网络向各个第二算力网络发送消息的历史记录信息,分析从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息。具体可执行步骤202至203所示的过程。38.步骤202、根据各个第二算力网络的属性信息和实时状态信息,获取各个第二算力网络对应的基础负载,以及第一算力网络分别到各个第二算力网络的消息传输时间。39.可选的,步骤202具体可包括:根据各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合第一算力网络分别到各个第二算力网络的消息传输速度,确定各个第二算力网络对应的基础负载。40.可选的,步骤202具体还包括:基于第二算力网络的处理器信息、内存信息、硬盘信息和消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。41.可选的,在不同的算力网络中配置有kafka-broker。42.可选的,步骤202具体还包括:通过第一算力网络的kafka-broker发送探测报文,获取各个第二算力网络的属性信息和实时状态信息。43.可选的,步骤202具体还包括:通过第一算力网络的kafka-connector,获取所述目标算力任务。44.在本技术实施例中,如图3所示为kafka-connector的功能示意图。kafka-connector作为不同消息中间件之间采集的组件,一端定义为source,另一端定义为sink,该组件的作用就是将source端的数据以key-value方式传输到sink(kafka集群)。如果数据量大,可以配置多个kafka-connector提高并发性能。相应的key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。45.可选的,如图4所示为kafka的架构示意图。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。46.在本技术实施例中,如图5所示为kafka-broker的功能示意图。kafka可以为消息或者数据的临时存储平台,每一台实例作为kafka-broker,多个broker之间保证流量均衡。broker中每个topic作为一个目录单独存储,对于每个topic可以配置partition(分区)的数量保证负载均衡,同时可以给每个分区配置一定数量的副本数保证不丢数据。47.可选的,第二算力网络的属性信息和实时状态信息可以包括第二算力网络的中央处理器(centralprocessingunit/processor,cpu)的处理速度、内存大小、网络传输速度、磁盘存储速率及消息传输时间。48.在本技术实施例中,需要通过调度算法先获取第二算力网络的基础负载,具体可如下公式一所示:(公式一)49.在公式一中,分别为cpu处理速度、网络传输速度、内存大小及磁盘存储速率,分别为各自对应的权值,且有。50.示例性的,基于步骤201,通过算力网络a的kafka-broker分别向算力网络b、算力网络c和算力网络d发送探测报文,可以获取算力网络b、算力网络c和算力网络d分别对应的属性信息和实时状态信息,通过公式一分别得到算力网络b的基础负载f1、算力网络c的基础负载f2和算力网络d的基础负载f3。51.相应的,可以获取算力网络a到算力网络b的消息传输时间t1、算力网络a到算力网络c的消息传输时间t2、算力网络a到算力网络d的消息传输时间t3。52.步骤203、根据距离信息和历史记录信息,并结合基础负载和消息传输时间,确定负载信息。53.可选的,历史记录信息包括:第一算力网络向第二算力网络发送消息的历史成功次数。54.可选的,步骤203具体可包括:将历史成功次数乘以基础负载,并将得到乘积除以距离信息,再乘以消息传输时间,得到负载信息。55.在本技术实施例中,可以调度算法确定负载信息,具体如下公式二所示:lij=tsij*p(sj)/dij*l(tij)(公式二)在公式二中,lij表示算力网络i到算力网络j之间的负载信息,p(sj)表示书案例网络j的基础负载,dij表示算力网络i到算力网络j之间的距离,l(tij)表示算力网络i到算力网络j的传输时间。56.示例性的,基于步骤202,根据公式二可以得算力网络a与算力网络b之间的负载信息为m1=n1*f1/x1*t1,相应的,可以得到算力网络a与算力网络c之间的负载信息为m2=n2*f2/x2*t2,算力网络a与算力网络d之间的负载信息为m3=n3*f3/x3*t3。57.可选的,从该调度算法可以看出:算力网络的cpu处理速度、内存大小、网络传输速度、磁盘存储速率等都是算力网络最佳调度的因子,在调度算法中,多个算力网络的距离也成为了一个因子。同时,对于不同算力网络,消息传输时间也是一个重要的调度因素,具体的,消息传输时间越长,对于算力影响越大,但必要时也可以等算力网络空闲的时候发送消息。历史消息发送成功次数作为最后一个度量因素,该因素作为算力网络的历史性能的考量,对于不同的算力网络,如果综合因子太差,算力时间太长,都会有一些任务会失败。58.步骤204、依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络。59.其中,目标算力任务为第一算力网络中的算力任务。60.示例性的,基于步骤203,对比负载信息m1、m2、m3的大小,若m1《m2《m3,则确定负载信息最小的算力网络b为目标算力网络。61.步骤205、将目标算力任务发送给目标算力网络执行。62.可选的,步骤205具体可包括:通过kafka-stream将目标算力任务发送给目标算力网络执行。63.可选的,步骤205具体还包括:确定目标算力网络执行目标算力任务失败,则依据负载信息,从各个第二算力网络中确定与目标算力网络不同的其他算力网络;将目标算力任务发送给其他算力网络执行。64.可选的,目标算力任务为第一算力网络中执行失败的算力任务。65.在本技术实施例中,如图6所示为kafka-stream的功能示意图。kafka-stream作为kafka自带的流平台,可以将数据消息转储至不同的算力网络中心,kafka-stream支持ktable或者kstream两种方式转发消息。ktable是一种批处理方式,吞吐量大;kstream是一种流式方式、实时性高。kafka-stream与kafka自带的partition构成映射关系,从而可以配置kafka-stream的并发数,进一步提高消息发送速率。此外,kafka-stream可以将执行失败或执行超时的任务临时存储在rocksdb中,再实时调度到其它算力网络。66.示例性的,基于步骤204,通过kafka-stream将目标算力任务a发送给算力网络b进行执行,若算力网络b对任务a执行失败或执行超时,则可以依据算力网络a的调度运算结果即m1《m2《m3,将任务a发送给算力网络c进行执行。67.可选的,若算力网络b对任务a执行失败或执行超时,还可以将算力网络b视为第一算力网络,重新进行调度预算,确定执行任务a的目标算力网络。68.目前不同算力网络之间差异巨大,算力有限,因此当执行任务过多,算力网络算力负载过重,必然导致算力网资源竞争加大而导致任务执行时间增加甚至任务执行失败,影响算力网络的服务质量。针对这一问题,主要采用对于多租户提前静态分配资源的方案,将多租户资源按层次分配,然后对于不同的算力任务静态编排,该方案只考虑资源分配,并未根据算力网络的实际配置动态增加或者减少资源,有一定的资源浪费问题。不但对于各个租户的资源无法准确预估,如果分配资源不足以满足任务执行的需求,则任务执行时间延长;如果分配资源过多,则存在资源浪费的问题。还任务执行过程中,对于部分共享资源比如带宽,如果某任务长期占用大量数据的传输,必然导致新任务无法正常启动如果任务执行失败,那只能手动重试,该方案会大幅度增加算力网络流量,甚至影响已经在执行的算力任务,而一般的算力任务执行时间都比较长(几个小时到几天不等),最终导致核心网、核心网之间整体瘫痪。69.为解决上述问题,本实施例提供了一种算力任务的处理系统,包括:多个算力网络;其中,多个算力网络分别配置有kafka-connector,kafka-connector用于收集多个算力网络的负载信息和算力任务,并转存储至kafka集群;该多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给该各个第二算力网络中的目标算力网络执行。70.例如,采用资源按需分配,每次提交任务,会根据kafka-connector采集到的流量配置调度到某一个算力网络,如果当前算力网络繁忙,还可以临时转储至kafka中临时存储。可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。通过kafka-connector采集到的算力网络的资源负载,可以根据调度算法,将算力网络任务合理分配到不同的核心算力网中。发挥kafka的高吞吐和低延迟,利用kafka-stream将失败的任务实时转发到其它算力网络中,客户端无感知,只需要关注任务执行结果即可。71.在本技术实施例中,可以进一步通过人工智能和大数据算法进一步实时计算权值,可以通过软件架构模型对比来确定,对于不同的架构模型是否采用同样的组件、同样的传送模型和流程。72.与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。73.为了说明本实施例的具体实现过程,给出如下具体的应用示例,但不限于此:所有的算力任务通过kafka-connector流入,根据延时配置确认是否同步到其它核心算力网:如果需要实时转发,则直接转发至算力网络平台;如果算力网络繁忙,则转至kafka集群临时存储。74.kafka集群作为临时任务存储地,存储临时任务;还需要根据kafka-connector定时收集不同的算力网络平台的流量的临时存储池kafka-stream负责将任务转储至其它算力网络平台,通过ktable或者kstream配置并发task数,在保证实时性传输的同时还能提高数据转储的速率和吞吐量;另外一个功能是对于失败的任务需要再调度至另外的算力网络中继续执行直到执行成功。75.与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。76.进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种算力任务的处理装置,如图7所示,该装置包括:获取模块31、确定模块32、执行模块33。77.获取模块31,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块32,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块33,被配置为将所述目标算力任务发送给所述目标算力网络执行。78.在本实施例的一些示例中,获取模块31,具体被配置为根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息。79.在本实施例的一些示例中,获取模块31,还被配置为根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输时间;相应的,获取模块31,具体被配置为根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息。80.在本实施例的一些示例中,获取模块31,具体还被配置为根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载。81.在本实施例的一些示例中,获取模块31,具体被配置为基于第二算力网络的所述处理器信息、所述内存信息、所述硬盘信息和所述消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。82.在本实施例的一些示例中,历史记录信息包括:所述第一算力网络向所述第二算力网络发送消息的历史成功次数;相应的,获取模块31,具体还被配置为将所述历史成功次数乘以所述基础负载,并将得到乘积除以所述距离信息,再乘以所述消息传输时间,得到所述负载信息。83.在本实施例的一些示例中,在不同的算力网络中配置有kafka-broker;相应的,获取模块31,具体还被配置为通过所述第一算力网络的kafka-broker发送探测报文,获取所述各个第二算力网络的属性信息和实时状态信息。84.在本实施例的一些示例中,获取模块31,具体还被配置为通过所述第一算力网络的kafka-connector,获取所述目标算力任务;相应的,执行模块33,具体被配置为通过kafka-stream将所述目标算力任务发送给所述目标算力网络执行。85.执行模块33,还被配置为确定所述目标算力网络执行所述目标算力任务失败,则依据所述负载信息,从所述各个第二算力网络中确定与所述目标算力网络不同的其他算力网络;将所述目标算力任务发送给所述其他算力网络执行。86.在本实施例的一些示例中,所述目标算力任务为所述第一算力网络中执行失败的算力任务。87.需要说明的是,本实施例提供的一种算力任务的处理装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。88.基于上述如图1至图6所示方法,相应的,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图6所示的方法。89.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景的方法。90.基于上述如图1至图6所示的方法,以及图7所示的虚拟装置实施例,为了实现上述目的,本技术实施例还提供了一种电子设备,如个人计算机、服务器、笔记本电脑、智能手机、智能机器人等智能终端,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图6所示的方法。91.可选的,上述实体设备还可以包括用户接口、网络接口、摄像头、射频(radiofrequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。92.本领域技术人员可以理解,本实施例提供的上述实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。93.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。94.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。95.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。96.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所述的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
技术特征:
1.一种算力任务的处理方法,其特征在于,所述方法包括:获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;将所述目标算力任务发送给所述目标算力网络执行。2.根据权利要求1所述的方法,其特征在于,所述获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息,包括:根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息。3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息之前,所述方法还包括:根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输时间;所述根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息,包括:根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息。4.根据权利要求3所述的方法,其特征在于,所述根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,包括:根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载。5.根据权利要求4所述的方法,其特征在于,所述根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载,包括:基于第二算力网络的所述处理器信息、所述内存信息、所述硬盘信息和所述消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。6.根据权利要求3至5中任一项所述的方法,其特征在于,所述历史记录信息包括:所述第一算力网络向所述第二算力网络发送消息的历史成功次数;所述根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息,包括:将所述历史成功次数乘以所述基础负载,并将得到乘积除以所述距离信息,再乘以所述消息传输时间,得到所述负载信息。7.根据权利要求3所述的方法,其特征在于,在不同的算力网络中配置有kafka-broker;在所述根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输
时间之前,所述方法还包括:通过所述第一算力网络的kafka-broker发送探测报文,获取所述各个第二算力网络的属性信息和实时状态信息。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:通过所述第一算力网络的kafka-connector,获取所述目标算力任务;所述将所述目标算力任务发送给所述目标算力网络执行,包括:通过kafka-stream将所述目标算力任务发送给所述目标算力网络执行。9.根据权利要求1所述的方法,其特征在于,在将所述目标算力任务发送给所述目标算力网络执行之后,所述方法还包括:确定所述目标算力网络执行所述目标算力任务失败,则依据所述负载信息,从所述各个第二算力网络中确定与所述目标算力网络不同的其他算力网络;将所述目标算力任务发送给所述其他算力网络执行。10.根据权利要求1所述的方法,其特征在于,所述目标算力任务为所述第一算力网络中执行失败的算力任务。11.一种算力任务的处理系统,其特征在于,包括:多个算力网络;所述多个算力网络分别配置有kafka-connector,所述kafka-connector用于收集所述多个算力网络的负载信息和算力任务,并转存储至kafka集群;所述多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给所述各个第二算力网络中的目标算力网络执行。12.一种算力任务的处理装置,其特征在于,包括:获取模块,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块,被配置为将所述目标算力任务发送给所述目标算力网络执行。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法。14.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法。
技术总结
本申请公开了一种算力任务的处理方法、装置及电子设备,涉及数据处理技术领域,其中方法包括:首先获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;再依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,目标算力任务为第一算力网络中的算力任务;然后将目标算力任务发送给目标算力网络执行。本申请可基于kafka系统,依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率。该算力任务执行的成功率。该算力任务执行的成功率。
技术研发人员:王亚平
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.09.13
技术公布日:2023/10/20
技术领域:
:,尤其涉及一种算力任务的处理方法、装置及电子设备。
背景技术:
::2.算力网络可以准确高效执行超大规模的任务。3.目前,不同算力网络之间差异巨大,算力有限,因此当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量。技术实现要素:4.有鉴于此,本技术提供了一种算力任务的处理方法、装置及电子设备,主要目的在于改善目前不同算力网络之间差异巨大,算力有限,当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量的技术问题。5.第一方面,本技术提供了一种算力任务的处理方法,包括:获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;将所述目标算力任务发送给所述目标算力网络执行。6.第二方面,本技术提供了一种算力任务的处理装置,包括:获取模块,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块,被配置为将所述目标算力任务发送给所述目标算力网络执行。7.第三方面,本技术提供了一种算力任务的处理系统,包括:多个算力网络;所述多个算力网络分别配置有kafka-connector,所述kafka-connector用于收集所述多个算力网络的负载信息和算力任务,并转存储至kafka集群;所述多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给所述各个第二算力网络中的目标算力网络执行。8.第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。9.第五方面,本技术提供了一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。10.借由上述技术方案,本技术提供的一种算力任务的处理方法、装置及电子设备,其中首先获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;再依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,目标算力任务为第一算力网络中的算力任务;然后将目标算力任务发送给目标算力网络执行。与目前现有技术相比,本技术可以依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率,进而可提高算力网络的服务质量。11.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。附图说明12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。13.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。14.图1示出了本技术实施例提供的一种算力任务的处理方法的流程示意图;图2示出了本技术实施例提供的一种算力任务的处理方法的流程示意图;图3示出了本技术实施例提供的一种示例的功能示意图;图4示出了本技术实施例提供的一种示例的架构示意图;图5示出了本技术实施例提供的一种示例的功能示意图;图6示出了本技术实施例提供的一种示例的功能示意图;图7示出了本技术实施例提供的一种算力任务的处理装置的结构示意图。具体实施方式15.下面将参照附图更详细地描述本技术的实施例。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。16.为了改善目前不同算力网络之间差异巨大,算力有限,当执行算力任务过多时,算力网络的负载过重,会导致资源竞争加大,进而会导致算力任务执行时间增加,甚至会出现算力任务执行失败的情况,影响了算力网络的服务质量的技术问题。本实施例提供了一种算力任务的处理方法,如图1所示,该方法包括:步骤101、获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息。17.算力网络是一种根据业务需求,在云、网、边之间按需分配和灵活调度计算资源、存储资源以及网络资源的新型信息基础设施。18.在本技术实施例中,第一算力网络可为不同算力网络中的任一算力网络,具体可为任意一个需要将任务发送给其他算力网络的算力网络,第二算力网络可以为除去第一网络之外的其他算力网络。19.而对于本实施例的执行主体可为算力任务的处理装置或设备,可配置在第一算力网络的端侧。20.在本技术实施例中,从第一算力网络发送算力任务,到第二算力网络执行所对应的负载信息可以用于评价第二算力网络执行从第一算力网络中发出的算力任务所对应的算力网络负载情况。21.在本技术实施例中,从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息,可以用于衡量将第一算力网络的算力任务具体发送到哪一个第二算力网络进行执行。22.可选的,从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息可以为包含第一算力网络发送算力任务,到a算力网络(第二算力网络)执行所对应的负载信息、第一算力网络发送算力任务,到b算力网络(第二算力网络)执行所对应的负载信息、第一算力网络发送算力任务,到c算力网络(第二算力网络)执行所对应的负载信息等等负载信息的集合。23.步骤102、依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络。24.其中,目标算力任务为第一算力网络中的算力任务。25.在本技术实施例中,目标算力任务可为在第一算力网络中执行失败或在第一算力网络中执行超时的算力任务。相应的,目标算力网络为在各个第二算力网络中,通过调度算法依据步骤101得到的各个负载信息,确定的最适合用来处理目标任务的第二算力网络。26.步骤103、将目标算力任务发送给目标算力网络执行。27.在一些实施例中,目标算力网络对目标算力任务的执行结果也可返回给第一算力网络,或者直接返回给该目标算力任务的请求方等。28.与目前现有技术相比,通过应用本实施例的技术方案,可以依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率,进而可提高算力网络的服务质量。29.为了进一步说明本实施例方法的具体实施过程,本实施例提供了如图2所示的具体方法,该方法包括:步骤201、获取第一算力网络与各个第二算力网络的距离信息,以及第一算力网络向各个第二算力网络发送消息的历史记录信息。30.可选的,第一算力网络与各个第二算力网络的距离信息可以包含第一算力网络与a网络(第二算力网络)之间的距离信息、第一算力网络与b网络(第二算力网络)之间的距离信息、第一网络与c网络(第二算力网络)之间的距离信息等等的距离信息集合。31.在本技术实施例中,历史记录信息可包括第一网络向第二网络发送消息的历史成功次数。32.相应的,第一算力网络向各个第二算力网络发送消息的历史记录信息可以包含第一算力网络向a网络(第二算力网络)发送消息的历史成功次数、第一算力网络向b网络(第二算力网络)发送消息的历史成功次数、第一算力网络向c网络(第二算力网络)发送消息的历史成功次数等等的历史成功次数的数据集合。33.可选的,以第一算力网络为算力网络a、各个第二算力网络包含算力网络b、算力网络c、算力网络d,算力网络a中的执行超时或执行失败的任务为任务a为例。34.示例性的,分别获取算力网络a与算力网络b之间的距离x1、算力网络a与算力网络c之间的距离x2、算力网络a与算力网络d之间的距离x3。35.可选的,历史记录信息可以包括第一算力网络向第二算力网络发送消息的历史成功次数。36.相应的,分别获取算力网络a向算力网络b发送消息的历史成功次数n1、算力网络a向算力网络c发送消息的历史成功次数n2、算力网络a向算力网络d发送消息的历史成功次数n3。37.本实施例可根据第一算力网络与各个第二算力网络的距离信息,以及第一算力网络向各个第二算力网络发送消息的历史记录信息,分析从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息。具体可执行步骤202至203所示的过程。38.步骤202、根据各个第二算力网络的属性信息和实时状态信息,获取各个第二算力网络对应的基础负载,以及第一算力网络分别到各个第二算力网络的消息传输时间。39.可选的,步骤202具体可包括:根据各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合第一算力网络分别到各个第二算力网络的消息传输速度,确定各个第二算力网络对应的基础负载。40.可选的,步骤202具体还包括:基于第二算力网络的处理器信息、内存信息、硬盘信息和消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。41.可选的,在不同的算力网络中配置有kafka-broker。42.可选的,步骤202具体还包括:通过第一算力网络的kafka-broker发送探测报文,获取各个第二算力网络的属性信息和实时状态信息。43.可选的,步骤202具体还包括:通过第一算力网络的kafka-connector,获取所述目标算力任务。44.在本技术实施例中,如图3所示为kafka-connector的功能示意图。kafka-connector作为不同消息中间件之间采集的组件,一端定义为source,另一端定义为sink,该组件的作用就是将source端的数据以key-value方式传输到sink(kafka集群)。如果数据量大,可以配置多个kafka-connector提高并发性能。相应的key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。45.可选的,如图4所示为kafka的架构示意图。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。46.在本技术实施例中,如图5所示为kafka-broker的功能示意图。kafka可以为消息或者数据的临时存储平台,每一台实例作为kafka-broker,多个broker之间保证流量均衡。broker中每个topic作为一个目录单独存储,对于每个topic可以配置partition(分区)的数量保证负载均衡,同时可以给每个分区配置一定数量的副本数保证不丢数据。47.可选的,第二算力网络的属性信息和实时状态信息可以包括第二算力网络的中央处理器(centralprocessingunit/processor,cpu)的处理速度、内存大小、网络传输速度、磁盘存储速率及消息传输时间。48.在本技术实施例中,需要通过调度算法先获取第二算力网络的基础负载,具体可如下公式一所示:(公式一)49.在公式一中,分别为cpu处理速度、网络传输速度、内存大小及磁盘存储速率,分别为各自对应的权值,且有。50.示例性的,基于步骤201,通过算力网络a的kafka-broker分别向算力网络b、算力网络c和算力网络d发送探测报文,可以获取算力网络b、算力网络c和算力网络d分别对应的属性信息和实时状态信息,通过公式一分别得到算力网络b的基础负载f1、算力网络c的基础负载f2和算力网络d的基础负载f3。51.相应的,可以获取算力网络a到算力网络b的消息传输时间t1、算力网络a到算力网络c的消息传输时间t2、算力网络a到算力网络d的消息传输时间t3。52.步骤203、根据距离信息和历史记录信息,并结合基础负载和消息传输时间,确定负载信息。53.可选的,历史记录信息包括:第一算力网络向第二算力网络发送消息的历史成功次数。54.可选的,步骤203具体可包括:将历史成功次数乘以基础负载,并将得到乘积除以距离信息,再乘以消息传输时间,得到负载信息。55.在本技术实施例中,可以调度算法确定负载信息,具体如下公式二所示:lij=tsij*p(sj)/dij*l(tij)(公式二)在公式二中,lij表示算力网络i到算力网络j之间的负载信息,p(sj)表示书案例网络j的基础负载,dij表示算力网络i到算力网络j之间的距离,l(tij)表示算力网络i到算力网络j的传输时间。56.示例性的,基于步骤202,根据公式二可以得算力网络a与算力网络b之间的负载信息为m1=n1*f1/x1*t1,相应的,可以得到算力网络a与算力网络c之间的负载信息为m2=n2*f2/x2*t2,算力网络a与算力网络d之间的负载信息为m3=n3*f3/x3*t3。57.可选的,从该调度算法可以看出:算力网络的cpu处理速度、内存大小、网络传输速度、磁盘存储速率等都是算力网络最佳调度的因子,在调度算法中,多个算力网络的距离也成为了一个因子。同时,对于不同算力网络,消息传输时间也是一个重要的调度因素,具体的,消息传输时间越长,对于算力影响越大,但必要时也可以等算力网络空闲的时候发送消息。历史消息发送成功次数作为最后一个度量因素,该因素作为算力网络的历史性能的考量,对于不同的算力网络,如果综合因子太差,算力时间太长,都会有一些任务会失败。58.步骤204、依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络。59.其中,目标算力任务为第一算力网络中的算力任务。60.示例性的,基于步骤203,对比负载信息m1、m2、m3的大小,若m1《m2《m3,则确定负载信息最小的算力网络b为目标算力网络。61.步骤205、将目标算力任务发送给目标算力网络执行。62.可选的,步骤205具体可包括:通过kafka-stream将目标算力任务发送给目标算力网络执行。63.可选的,步骤205具体还包括:确定目标算力网络执行目标算力任务失败,则依据负载信息,从各个第二算力网络中确定与目标算力网络不同的其他算力网络;将目标算力任务发送给其他算力网络执行。64.可选的,目标算力任务为第一算力网络中执行失败的算力任务。65.在本技术实施例中,如图6所示为kafka-stream的功能示意图。kafka-stream作为kafka自带的流平台,可以将数据消息转储至不同的算力网络中心,kafka-stream支持ktable或者kstream两种方式转发消息。ktable是一种批处理方式,吞吐量大;kstream是一种流式方式、实时性高。kafka-stream与kafka自带的partition构成映射关系,从而可以配置kafka-stream的并发数,进一步提高消息发送速率。此外,kafka-stream可以将执行失败或执行超时的任务临时存储在rocksdb中,再实时调度到其它算力网络。66.示例性的,基于步骤204,通过kafka-stream将目标算力任务a发送给算力网络b进行执行,若算力网络b对任务a执行失败或执行超时,则可以依据算力网络a的调度运算结果即m1《m2《m3,将任务a发送给算力网络c进行执行。67.可选的,若算力网络b对任务a执行失败或执行超时,还可以将算力网络b视为第一算力网络,重新进行调度预算,确定执行任务a的目标算力网络。68.目前不同算力网络之间差异巨大,算力有限,因此当执行任务过多,算力网络算力负载过重,必然导致算力网资源竞争加大而导致任务执行时间增加甚至任务执行失败,影响算力网络的服务质量。针对这一问题,主要采用对于多租户提前静态分配资源的方案,将多租户资源按层次分配,然后对于不同的算力任务静态编排,该方案只考虑资源分配,并未根据算力网络的实际配置动态增加或者减少资源,有一定的资源浪费问题。不但对于各个租户的资源无法准确预估,如果分配资源不足以满足任务执行的需求,则任务执行时间延长;如果分配资源过多,则存在资源浪费的问题。还任务执行过程中,对于部分共享资源比如带宽,如果某任务长期占用大量数据的传输,必然导致新任务无法正常启动如果任务执行失败,那只能手动重试,该方案会大幅度增加算力网络流量,甚至影响已经在执行的算力任务,而一般的算力任务执行时间都比较长(几个小时到几天不等),最终导致核心网、核心网之间整体瘫痪。69.为解决上述问题,本实施例提供了一种算力任务的处理系统,包括:多个算力网络;其中,多个算力网络分别配置有kafka-connector,kafka-connector用于收集多个算力网络的负载信息和算力任务,并转存储至kafka集群;该多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给该各个第二算力网络中的目标算力网络执行。70.例如,采用资源按需分配,每次提交任务,会根据kafka-connector采集到的流量配置调度到某一个算力网络,如果当前算力网络繁忙,还可以临时转储至kafka中临时存储。可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。通过kafka-connector采集到的算力网络的资源负载,可以根据调度算法,将算力网络任务合理分配到不同的核心算力网中。发挥kafka的高吞吐和低延迟,利用kafka-stream将失败的任务实时转发到其它算力网络中,客户端无感知,只需要关注任务执行结果即可。71.在本技术实施例中,可以进一步通过人工智能和大数据算法进一步实时计算权值,可以通过软件架构模型对比来确定,对于不同的架构模型是否采用同样的组件、同样的传送模型和流程。72.与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。73.为了说明本实施例的具体实现过程,给出如下具体的应用示例,但不限于此:所有的算力任务通过kafka-connector流入,根据延时配置确认是否同步到其它核心算力网:如果需要实时转发,则直接转发至算力网络平台;如果算力网络繁忙,则转至kafka集群临时存储。74.kafka集群作为临时任务存储地,存储临时任务;还需要根据kafka-connector定时收集不同的算力网络平台的流量的临时存储池kafka-stream负责将任务转储至其它算力网络平台,通过ktable或者kstream配置并发task数,在保证实时性传输的同时还能提高数据转储的速率和吞吐量;另外一个功能是对于失败的任务需要再调度至另外的算力网络中继续执行直到执行成功。75.与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。76.进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种算力任务的处理装置,如图7所示,该装置包括:获取模块31、确定模块32、执行模块33。77.获取模块31,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块32,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块33,被配置为将所述目标算力任务发送给所述目标算力网络执行。78.在本实施例的一些示例中,获取模块31,具体被配置为根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息。79.在本实施例的一些示例中,获取模块31,还被配置为根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输时间;相应的,获取模块31,具体被配置为根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息。80.在本实施例的一些示例中,获取模块31,具体还被配置为根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载。81.在本实施例的一些示例中,获取模块31,具体被配置为基于第二算力网络的所述处理器信息、所述内存信息、所述硬盘信息和所述消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。82.在本实施例的一些示例中,历史记录信息包括:所述第一算力网络向所述第二算力网络发送消息的历史成功次数;相应的,获取模块31,具体还被配置为将所述历史成功次数乘以所述基础负载,并将得到乘积除以所述距离信息,再乘以所述消息传输时间,得到所述负载信息。83.在本实施例的一些示例中,在不同的算力网络中配置有kafka-broker;相应的,获取模块31,具体还被配置为通过所述第一算力网络的kafka-broker发送探测报文,获取所述各个第二算力网络的属性信息和实时状态信息。84.在本实施例的一些示例中,获取模块31,具体还被配置为通过所述第一算力网络的kafka-connector,获取所述目标算力任务;相应的,执行模块33,具体被配置为通过kafka-stream将所述目标算力任务发送给所述目标算力网络执行。85.执行模块33,还被配置为确定所述目标算力网络执行所述目标算力任务失败,则依据所述负载信息,从所述各个第二算力网络中确定与所述目标算力网络不同的其他算力网络;将所述目标算力任务发送给所述其他算力网络执行。86.在本实施例的一些示例中,所述目标算力任务为所述第一算力网络中执行失败的算力任务。87.需要说明的是,本实施例提供的一种算力任务的处理装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。88.基于上述如图1至图6所示方法,相应的,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图6所示的方法。89.基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景的方法。90.基于上述如图1至图6所示的方法,以及图7所示的虚拟装置实施例,为了实现上述目的,本技术实施例还提供了一种电子设备,如个人计算机、服务器、笔记本电脑、智能手机、智能机器人等智能终端,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图6所示的方法。91.可选的,上述实体设备还可以包括用户接口、网络接口、摄像头、射频(radiofrequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。92.本领域技术人员可以理解,本实施例提供的上述实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。93.存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。94.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。与目前现有技术相比,通过应用本实施例的技术方案,可以通过算力网络下的消息中间件模型(kafka),统一了不同算力网络平台的任务的传输过程,广泛发挥kafka的高吞吐和低延迟的性能,减少了对算力任务的影响。通过kafka-connector收集不同算力网络平台的负载和任务,转储至kafka集群,然后根据kafka-stream实时或者定时传输至不同的算力网络平台,加强了任务传递的实时性,实现了负载均衡,本实施例综合考虑了历史算力成功次数、距离信息、消息发送时长等信息,让每个算力网络可以更加快速均衡的处理网络消息。调度算法确定可以执行超时或失败的算力任务的另一个算力网络,并将算力任务发送给该算力网络进行执行,可以解决各个独立部署的算力网络资源分配不均和资源浪费的问题,对于每个任务按需分配资源,保证任务成功执行。95.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。96.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所述的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
技术特征:
1.一种算力任务的处理方法,其特征在于,所述方法包括:获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;将所述目标算力任务发送给所述目标算力网络执行。2.根据权利要求1所述的方法,其特征在于,所述获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息,包括:根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息。3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息之前,所述方法还包括:根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输时间;所述根据所述第一算力网络与所述各个第二算力网络的距离信息,以及所述第一算力网络向所述各个第二算力网络发送消息的历史记录信息,分析所述负载信息,包括:根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息。4.根据权利要求3所述的方法,其特征在于,所述根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,包括:根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载。5.根据权利要求4所述的方法,其特征在于,所述根据所述各个第二算力网络的处理器信息、内存信息和硬盘信息,并结合所述第一算力网络分别到所述各个第二算力网络的消息传输速度,确定所述各个第二算力网络对应的基础负载,包括:基于第二算力网络的所述处理器信息、所述内存信息、所述硬盘信息和所述消息传输速度进行加权求和计算,得到第二算力网络对应的基础负载。6.根据权利要求3至5中任一项所述的方法,其特征在于,所述历史记录信息包括:所述第一算力网络向所述第二算力网络发送消息的历史成功次数;所述根据所述距离信息和所述历史记录信息,并结合所述基础负载和所述消息传输时间,确定所述负载信息,包括:将所述历史成功次数乘以所述基础负载,并将得到乘积除以所述距离信息,再乘以所述消息传输时间,得到所述负载信息。7.根据权利要求3所述的方法,其特征在于,在不同的算力网络中配置有kafka-broker;在所述根据所述各个第二算力网络的属性信息和实时状态信息,获取所述各个第二算力网络对应的基础负载,以及所述第一算力网络分别到所述各个第二算力网络的消息传输
时间之前,所述方法还包括:通过所述第一算力网络的kafka-broker发送探测报文,获取所述各个第二算力网络的属性信息和实时状态信息。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:通过所述第一算力网络的kafka-connector,获取所述目标算力任务;所述将所述目标算力任务发送给所述目标算力网络执行,包括:通过kafka-stream将所述目标算力任务发送给所述目标算力网络执行。9.根据权利要求1所述的方法,其特征在于,在将所述目标算力任务发送给所述目标算力网络执行之后,所述方法还包括:确定所述目标算力网络执行所述目标算力任务失败,则依据所述负载信息,从所述各个第二算力网络中确定与所述目标算力网络不同的其他算力网络;将所述目标算力任务发送给所述其他算力网络执行。10.根据权利要求1所述的方法,其特征在于,所述目标算力任务为所述第一算力网络中执行失败的算力任务。11.一种算力任务的处理系统,其特征在于,包括:多个算力网络;所述多个算力网络分别配置有kafka-connector,所述kafka-connector用于收集所述多个算力网络的负载信息和算力任务,并转存储至kafka集群;所述多个算力网络中的第一算力网络根据kafka-connector收集到的各个第二算力网络对应的负载信息,通过kafka-stream将目标算力任务发送给所述各个第二算力网络中的目标算力网络执行。12.一种算力任务的处理装置,其特征在于,包括:获取模块,被配置为获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;确定模块,被配置为依据所述负载信息,从所述各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,所述目标算力任务为所述第一算力网络中的算力任务;执行模块,被配置为将所述目标算力任务发送给所述目标算力网络执行。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法。14.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法。
技术总结
本申请公开了一种算力任务的处理方法、装置及电子设备,涉及数据处理技术领域,其中方法包括:首先获取从第一算力网络发送算力任务,分别到各个第二算力网络执行所对应的负载信息;再依据负载信息,从各个第二算力网络中确定执行目标算力任务的目标算力网络,其中,目标算力任务为第一算力网络中的算力任务;然后将目标算力任务发送给目标算力网络执行。本申请可基于kafka系统,依据第一算力网络分别到各个第二算力网络之间的负载信息,将第一算力网络中的算力任务进行合理分配处理,可提高该算力任务执行的成功率。该算力任务执行的成功率。该算力任务执行的成功率。
技术研发人员:王亚平
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2023.09.13
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种婴幼儿防坠床装置的制作方法 下一篇:一种具有过滤结构的排气阀的制作方法