发明内容
基于此,有必要针对上述技术问题,提供一种作业处理方法、装置、计算机设备及可读存储介质,能够提高作业的处理效率。
第一方面,本申请实施例提供了一种作业处理方法,该方法包括:
获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据;节点画像数据包括每个节点可处理的作业类型;
根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点;作业处理节点表示与作业类型相匹配的节点;
将待处理计算作业分配至作业处理节点进行处理。
本申请实施例中的技术方案,获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据,根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点,并将待处理计算作业分配至作业处理节点进行处理。采用上述方法可以根据待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据,将待处理计算作业分配至具有处理待处理计算作业能力的节点处理,该过程能够尽可能的避免将待处理计算作业分配至处理过程中可能会出现问题的节点处理,以及将待处理计算作业分配至不具有处理待处理计算作业能力的节点处理的问题,从而能够在极大程度上提高计算集群处理待处理计算作业的效率;同时,该方法可以将待处理计算作业分配至具有处理待处理计算作业能力以及处理过程中尽可能不出现问题的节点处理,从而能够降低待处理计算作业在处理过程中被挂起或中断的概率,相当于降低了待处理计算作业在挂起或中断时需要重新处理的概率,进一步能够节省计算集群的处理资源、处理成本以及作业处理时间,并且在极大程度上提高计算集群处理待处理计算作业的成功率。
在其中一个实施例中,获取当前计算集群中各节点的节点画像数据,包括:
获取当前计算集群中各节点的节点画像;
根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据;其中,节点画像评定规则是根据各节点的历史运行数据构建的。
本申请实施例中的技术方案,获取当前计算集群中各节点的节点画像,并根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据;该方法可以可以根据预设的节点画像评定规则计算当前计算集群中各节点的节点画像数据,也就是确定当前计算集群中各节点处理不同类型的作业的喜好程度,并将当前计算集群中各节点的节点画像数据作为后续分配待处理计算作业的参考信息,以帮助提高计算集群处理待处理计算作业的效率。
在其中一个实施例中,节点画像评定规则包括不同节点的节点画像的偏向衡量指标和各偏向衡量指标的量化值;
根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据,包括:
对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据。
本申请实施例中的技术方案,对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据;该方法中节点的节点画像的偏向衡量指标是根据节点的历史运行数据确定的,进而通过节点的节点画像的偏向衡量指标和偏向衡量指标的量化值对节点的节点画像进行量化,能够得到准确性较高的节点画像数据。
在其中一个实施例中,根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点,包括:
根据各节点的节点画像,将各节点和各节点的节点画像数据分别添加至不同类型的节点队列中;
根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列;
根据目标节点队列中的各节点的节点画像数据,确定作业处理节点。
本申请实施例中的技术方案,根据各节点的节点画像,将各节点的节点画像数据分别添加至不同类型的节点队列中,根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列,并根据目标节点队列中的各节点的节点画像数据,确定作业处理节点;上述方法可以根据计算集群中各节点可处理的作业类型,将各节点的节点画像数据分别添加至不同类型的节点队列中,相当于对各节点的节点画像数据进行分类,进而从分类结果中选取与待处理计算作业的作业类型相匹配的目标节点队列,以缩小作业处理节点的选取范围,降低作业处理节点选取时的数据处理量。
在其中一个实施例中,根据目标节点队列中的各节点的节点画像数据,确定作业处理节点,包括:
根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序;
根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点。
本申请实施例中的技术方案,根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序,并根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点;该方法可以根据各节点的节点画像数据对确定的目标节点队列中的节点进行排序,以根据排序结果能够快速获取偏向于处理节点画像对应类型作业的作业处理节点,进而从整体上提高作业处理效率。
在其中一个实施例中,根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点,包括:
根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点。
本申请实施例中的技术方案,可以根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点,该过程可以使得确定的作业处理节点的准确性更高。
在其中一个实施例中,上述方法还包括:
检测各节点的健康状态;
根据各节点的健康状态更新各节点队列中的节点以及节点画像数据。
本申请实施例中的技术方案,检测各节点的健康状态,并根据各节点的健康状态更新各节点队列中的节点以及节点画像数据;该方法可以在确定作业处理节点之前,根据各节点的健康状态动态更新节点队列,以将作业处理过程中出现问题的节点从节点队列中剔除,进一步基于更新后的节点队列确定作业处理节点,能够从一定程度上提高确定的作业处理节点的准确性,成功处理待处理计算作业以及提高作业处理效率。
第二方面,本申请实施例提供了一种作业处理装置,上述装置包括:
获取模块,用于获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据;节点画像数据包括每个节点可处理的作业类型;
确定模块,用于根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点;作业处理节点表示与作业类型相匹配的节点;
处理模块,用于将待处理计算作业分配至作业处理节点进行处理。
第三方面,本申请实施例还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面中任一实施例的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一实施例的方法的步骤。
第五方面,本申请实施例还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一实施例的方法的步骤。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在计算机领域中,HPC技术变得越来越重要,其中,主要是通过HPC集群处理大规模HPC作业。由于HPC作业变得越来越复杂和庞大,部分HPC作业需要大规模HPC集群中的多个节点同时处理较长周期才能被处理完,那么,为了让大规模HPC集群高效的处理HPC作业,需要保证大规模HPC集群中各节点的健康状态、大规模HPC集群中节点的数量以及超长的作业处理时间。
相关技术中,在HPC集群处理HPC作业前,采用检查脚本会检查HPC集群中各节点的健康状态,并通过HPC集群中健康的节点处理HPC作业。然而,采用相关技术处理HPC作业时,无法保证HPC作业处理过程中,参与处理的节点不出问题,如果处理过程中参与处理的节点一但出现问题,处理节点的数量就达不到HPC作业的要求,以致HPC作业将会被挂起或中断,在节点恢复健康后HPC作业将会被重新处理,从而会存在作业处理效率低的问题。基于此,本申请实施例提供了一种作业处理方法,能够提高作业处理的准确性。
本申请实施例提供的作业处理方法,该方法可以适用于图1所示的作业处理系统,该作业处理系统包括计算机设备和计算集群。在本申请实施例中,计算机设备可以理解为作业处理系统中的调度系统,用于确定计算集群中待处理计算作业的作业处理节点以及为作业处理节点分配待处理计算作业。可选地,上述计算机设备可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等等,当然还可以用独立的服务器或者是多个服务器组成的服务器集群来实现,图1是以计算机设备为个人计算机,计算集群中包括n个服务器(即服务器1~n,n大于1,图1中服务器1~n之间的其它服务器图中未示出)为例示意作业处理系统的;上述计算集群可以通过多个服务器实现。下述实施例中将具体介绍作业处理方法的具体过程,并且以执行主体为计算机设备来介绍作业处理方法的具体过程。
如图2所示,为本申请实施例提供的作业处理方法的流程示意图,该方法可以通过以下步骤实现:
S100、获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据。其中,节点画像数据包括每个节点可处理的作业类型。
可选地,上述待处理计算作业可以为普通的计算作业,但在本申请实施例中,待处理计算作业为高性能计算作业。可选地,待处理计算作业的作业类型可以为图像处理型、计算密集型(CPU-bound,即CPU密集型)、网络读写密集型(即网络IO密集型)、磁盘读写密集型(即磁盘IO密集型)或综合型等等,其中,综合型可以为图像处理型、计算密集型、网络读写密集型和磁盘读写密集型中的至少两种。
在本申请实施例中,计算集群也就是高性能计算集群,高性能计算集群可以包括数百或数千个通过网络连接的计算服务器组成,每个计算服务器称为一个节点。
其中,节点的节点画像可以理解为节点可处理的作业类型,每个节点的节点画像可以为一个或多个,也就是,每个节点可处理一种或多种类型的作业,同时,不同节点可处理的作业类型可以相同,也可以不相同,对此本申请实施例不做限定。
另外,节点的节点画像数据指的是节点的节点画像的节点画像数据,可以理解为节点处理对应各节点画像的作业的喜好程度。例如,一节点A的节点画像包括图像处理型和计算密集型,则在节点A的节点画像为图像处理型时,节点A的节点画像对应的节点画像数据表示节点A处理图像处理型作业的喜好程度,在节点A的节点画像为计算密集型时,节点A的节点画像对应的节点画像数据表示节点A处理计算密集型作业的喜好程度。
在实际应用中,节点画像数据通常以分值的形式表示。可选地,同一节点不同时刻对应的节点画像数据不同时,会影响同一类型的HPC作业的处理速度。
一实施例中,待处理计算作业中可以携带作业类型,那么,计算机设备可以从待处理计算作业中获取待处理计算作业的作业类型。
又一实施例中,在待处理计算作业中没有携带作业类型的情况下,计算机设备可以获取待处理计算作业,并通过作业脚本分析工具对待处理计算作业进行分析后得到该待处理计算作业的作业类型。可选地,作业脚本分析工具可以是预先编写的脚本,用于对计算作业的作业类型进行分析。
这里需要说明的是,不同时刻计算集群中各节点的节点画像数据可以相等,也可以不相等,所以每次通过计算集群处理HPC作业前,需要先获取计算集群中各节点的节点画像数据。
对应地,在处理上述待处理计算作业前,计算机设备可以预先训练一种算法模型,然后将计算集群中各节点当前的属性信息输入至算法模型中,该算法模型输出当前计算集群中各节点的节点画像数据。可选地,节点的属性信息可以包括节点处理不同类型作业的效率、内存空间大小、处理器的数量等等。
S200、根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点。其中,作业处理节点表示与作业类型相匹配的节点。
可选地,作业处理节点可以为计算集群中的至少一个节点;作业处理节点是表示与作业类型相匹配的节点,也就是,作业处理节点具有处理待处理计算作业的能力。
例如,待处理计算作业的作业类型包括网络读写密集型和磁盘读写密集型,则作业处理节点具有处理网络读写密集型和磁盘读写密集型作业的能力,也就是作业处理节点具有处理待处理计算作业的能力。
其中,计算机设备可以分别在映射关系查找与待处理计算作业的作业类型以及各节点的节点画像数据对应的节点标识,并根据查找到的对应节点的标识确定作业处理节点。可选地,映射关系中可以包括不同节点的标识、作业类型、不同节点的节点画像数据以及三者之间的对应关系。可选地,节点的标识可以通过数字、字母和符号中的至少一种表示,不同节点的标识不同。
S300、将待处理计算作业分配至作业处理节点进行处理。
需要说明的是,若作业处理节点中包括一个节点,则计算机设备可以直接将待处理计算作业分配至作业处理节点进行处理。若作业处理节点中包括多个节点,则计算机设备可以先对待处理计算作业进行划分得到各组子计算作业,然后将各组子计算作业分别分配至作业处理节点中的不同节点进行处理。
其中,对待处理计算作业进行划分的方式可以是根据作业处理节点中节点的数量,对待处理计算作业进行均分得到多组子计算作业。可选地,划分得到的子计算作业的数量可以等于作业处理节点中节点的数量。
另外,对待处理计算作业进行划分的方式还可以是根据作业处理节点中各节点的节点画像数据的大小计算各节点可处理作业的数据量,然后根据作业处理节点中各节点可处理作业的数据量对待处理计算作业进行划分。
本申请实施例中的技术方案,获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据,根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点,并将待处理计算作业分配至作业处理节点进行处理。采用上述方法可以根据待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据,将待处理计算作业分配至具有处理待处理计算作业能力的节点处理,该过程能够尽可能的避免将待处理计算作业分配至处理过程中可能会出现问题的节点处理,以及将待处理计算作业分配至不具有处理待处理计算作业能力的节点处理的问题,从而能够在极大程度上提高计算集群处理待处理计算作业的效率;同时,该方法可以将待处理计算作业分配至具有处理待处理计算作业能力以及处理过程中尽可能不出现问题的节点处理,从而能够降低待处理计算作业在处理过程中被挂起或中断的概率,相当于降低了待处理计算作业在挂起或中断时需要重新处理的概率,进一步能够节省计算集群的处理资源、处理成本以及作业处理时间,并且在极大程度上提高计算集群处理待处理计算作业的成功率。
下面对上述获取当前计算集群中各节点的节点画像数据的过程进行说明。在一实施例中,如图3所示,上述S100中获取当前计算集群中各节点的节点画像数据的步骤,可以通过以下方式实现:
S110、获取当前计算集群中各节点的节点画像。
在实际应用中,计算机设备可以从本地、云端或磁盘等位置获取当前计算集群中各节点已处理的历史计算作业,然后根据各节点已处理的历史计算作业的作业类型确定各节点的节点画像。
例如,节点A的已处理的历史计算作业的作业类型包括图像处理型和计算密集型,则节点A的节点画像(即节点A可处理的作业类型)包括图像处理型和计算密集型。
S120、根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据。其中,节点画像评定规则是根据各节点的历史运行数据构建的。
在实际应用中,节点画像评定规则是根据计算集群中各节点的历史运行数据构建的,其中,在每次执行作业处理方法时,节点画像评定规则可以相同,也可以不相同。可选地,节点的历史运行数据可以包括节点出厂后处理HPC作业的次数、节点处理HPC作业的速度和节点的处理资源等等;不同节点的历史运行数据可以相等,也可以不相等,对此本申请实施例不做限定。
这里需要说明的是,每次执行作业处理方法时使用的预设的节点画像评定规则,是基于上一次执行作业处理方法后更新后的最新节点画像评定规则。
具体地,计算机设备可以预先训练一种神经网络算法模型,然后将预设的节点画像评定规则和计算集群中各节点的节点画像均输入至神经网络算法模型中,该神经网络算法模型输出当前计算集群中各节点的节点画像数据。可选地,神经网络算法模型可以是不限于由卷积神经网络模型、空间金字塔池化网络模型、深信度网络模型、深度自动编码器、生成对抗网络模型和递归神经网络模型等等中的至少一个组合而成。可选地,节点的节点画像数据的数量可以等于节点的节点画像的数量。
本申请实施例中的技术方案,获取当前计算集群中各节点的节点画像,并根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据;该方法可以可以根据预设的节点画像评定规则计算当前计算集群中各节点的节点画像数据,也就是确定当前计算集群中各节点处理不同类型的作业的喜好程度,并将当前计算集群中各节点的节点画像数据作为后续分配待处理计算作业的参考信息,以帮助提高计算集群处理待处理计算作业的效率。
下面对上述根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据的过程进行说明。在一实施例中,节点画像评定规则包括不同节点的节点画像的偏向衡量指标和各偏向衡量指标的量化值;上述S120的步骤,可以包括:对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据。
在本申请实施例中,当前计算集群中各节点的节点画像的偏向衡量指标也是根据各节点的历史运行数据确定的。
对于任一节点,节点的节点画像的偏向衡量指标包括多个衡量指标,可以包括节点在运行周期内硬件基础配置信息、硬件健康度、硬件维修次数、系统日志、资产库操作纪录、监控数据、告警次数、节点健康检查工具检查的结果数据、成功处理完成作业次数、节点上线次数和节点下线次数等等。
其中,偏向衡量指标的量化值可以理解为偏向衡量指标中各衡量指标对应不同数据的得分结果。
在本申请实施例中,节点画像数据为[0,100]区间内的任一数值。对应地,对于任一节点,计算机设备可以根据节点对应的衡量指标的量化值从0开始加分和/或减分,以完成对节点的节点画像的量化处理,得到节点画像的节点画像数据。其中,若节点对应的衡量指标的量化值均为满分,则节点对应的节点画像数据为0。
例如,对于任一节点,若节点的节点画像表示节点可处理的作业类型为图像处理型的作业时,偏向衡量指标可以包括节点上是否配置硬件设备(如深度计算处理器或图形加速卡)、硬件设备的数量和硬件设备是否故障,对应地,偏向衡量指标的量化值可以包括节点上配置有图形加速卡加10分、每多加一个图形加速卡加10分、若有一个图形加速卡出现故障减10分。可选地,若节点上没有配合图形加速卡时,该节点的节点画像数据为0分。
若节点的节点画像表示节点可处理的作业类型为计算密集型的作业时,偏向衡量指标可以包括节点中处理器(即CPU)核数是否大于或等于预设数量阈值、该节点在历史时间段内处理器的平均利用率在所有节点中的排序、该节点中处理器的故障次数在所有节点中的排序、节点中处理器的利用率过高对应的告警次数。
若节点的节点画像表示节点可处理的作业类型为网络读写密集型的作业时,偏向衡量指标可以包括该节点所用的无线带宽(即IB)网络流量在所有节点中的排序、该节点所用的以太管理网络流量在所有节点中的排序、节点所用的无线带宽网络在特定时间段内不可用的告警次数、节点所用的以太管理网络在特定时间段内不可用的告警次数。
若节点的节点画像表示节点可处理的作业类型为磁盘读写密集型的作业时,偏向衡量指标可以包括节点上的磁盘大小、节点上的磁盘利用率、节点上的磁盘故障的告警次数、节点上的磁盘维修次数、节点上是否挂载共享存储。
若节点的节点画像表示节点可处理的作业类型为磁盘读写密集型的作业时,偏向衡量指标可以包括该节点同时具备以上四种节点画像的正向部分。可选地,正向部分可以包括节点上是否配置硬件设备、硬件设备的数量、节点中处理器(即CPU)核数是否大于或等于预设数量阈值、该节点在历史时间段内处理器的平均利用率在所有节点中的排序、节点所用的无线带宽(即IB)网络流量在所有节点中的排序、该节点所用的以太管理网络流量在所有节点中的排序、节点上的磁盘大小、节点上的磁盘利用率、节点上是否挂载共享存储。
示例性地,若一节点的节点画像包括图像处理型、计算密集型、网络读写密集型、磁盘读写密集型和综合型,且确定的该节点的节点画像的节点画像数据为:图像处理型的节点画像数据为87、计算密集型的节点画像数据为96、网络读写密集型的节点画像数据为86、磁盘读写密集型的节点画像数据为84和综合型的节点画像数据为73,对应地,基于上述数据图4示出了该节点的节点画像的雷达图。
本申请实施例中的技术方案,对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据;该方法中节点的节点画像的偏向衡量指标是根据节点的历史运行数据确定的,进而通过节点的节点画像的偏向衡量指标和偏向衡量指标的量化值对节点的节点画像进行量化,能够得到准确性较高的节点画像数据。
在一些场景中,并不是计算集群中所有节点均具有处理待处理计算作业的能力,因此,为了提高作业处理效率,需要从计算集群中选取适合处理待处理计算作业的至少一个节点来处理待处理计算作业,下面对从计算集群中选取处理待处理计算作业的节点的过程进行说明。在一实施例中,如图5所示,上述S200中的步骤,可以通过以下方式实现:
S210、根据各节点的节点画像,将各节点和各节点的节点画像数据分别添加至不同类型的节点队列中。
其中,可以根据计算集群中所有节点和所有节点的节点画像创建不同类型的节点队列,在实际应用中,初始时刻不同类型的节点队列为空队列。可选地,不同类型的节点队列的数量可以等于计算集群中所有节点的数量,还可以等于所有节点对应的不同节点画像的数量。
例如,若计算集群中所有节点共存在5个节点画像,包括图像处理型、计算密集型、网络读写密集型、磁盘读写密集型和综合型,则可以分别创建图像处理型、计算密集型、网络读写密集型、磁盘读写密集型和综合型对应的节点队列。
在本申请实施例中,可以根据前文步骤获取到的各节点的节点画像,将各节点的节点画像数据分别添加至不同类型的节点队列中。在实际应用中,每个节点和对应的节点画像数据可以添加至同一节点队列中。
在实际应用中,为了提高作业处理效率,可以实时检测各节点的健康状态,并将健康状态为是的所有节点均添加至对应节点队列中,但是将健康状态为否的节点不能添加至节点队列中。
S220、根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列。
继续参见上一示例,不同类型的节点队列包括图像处理型、计算密集型、网络读写密集型、磁盘读写密集型和综合型对应的节点队列,且待处理计算作业的作业类型包括图像处理型和网络读写密集型,则与待处理计算作业的作业类型相匹配的目标节点队列为图像处理型的节点队列和网络读写密集型的节点队列。可选地,目标节点队列可以包括至少一个节点队列。
S230、根据目标节点队列中的各节点的节点画像数据,确定作业处理节点。
其中,对于目标节点队列中的任一节点队列,可以对节点队列中各节点的节点画像数据进行分析处理和/或对比处理等等,以从节点队列中的所有节点中选取作业处理节点。
可选地,作业处理节点可以为一个或多个节点,作业处理节点中的各节点均具有处理待处理计算作业的能力,且能够帮助提高作业处理效率。
本申请实施例中的技术方案,根据各节点的节点画像,将各节点的节点画像数据分别添加至不同类型的节点队列中,根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列,并根据目标节点队列中的各节点的节点画像数据,确定作业处理节点;上述方法可以根据计算集群中各节点可处理的作业类型,将各节点的节点画像数据分别添加至不同类型的节点队列中,相当于对各节点的节点画像数据进行分类,进而从分类结果中选取与待处理计算作业的作业类型相匹配的目标节点队列,以缩小作业处理节点的选取范围,降低作业处理节点选取时的数据处理量。
下面对上述根据目标节点队列中的各节点的节点画像数据,确定作业处理节点的过程进行说明。在一实施例中,如图6所示,上述S230中的步骤,可以通过以下方式实现:
S231、根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序。
具体地,计算机设备可以根据目标节点队列中各节点的节点画像数据的大小,按照预设的顺序对目标节点队列中的各节点进行排序。
可选地,预设的顺序可以是节点画像数据对应获取时间的先后顺序或者计算节点画像数据所需时长的大小顺序等等。
这里需要说明的是,节点画像的节点画像数据较大的节点越偏向于处理节点画像对应类型的作业,那么,为了成功处理待处理计算作业以及提高作业处理效率,可以选取越偏向于处理节点画像对应类型作业的节点为作业处理节点,并且,为了提高选取作业处理节点的速度,自然地,本申请实施例可以将上述预设的顺序设定为节点画像数据对应从大到小的顺序或者节点画像数据对应从小到大的顺序。
S232、根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点。
其中,从目标节点队列中的各节点中确定作业处理节点可以理解为从目标节点队列中选取部分节点或全部节点确定为作业处理节点。
具体地,若前文步骤按照节点画像数据对应从大到小的顺序获取到目标节点队列的排序结果时,进一步可以将排序靠前特定比例的节点均确定为作业处理节点。若前文步骤按照节点画像数据对应从小到大的顺序获取到目标节点队列的排序结果时,进一步可以将排序靠后特定比例的节点均确定为作业处理节点。
可选地,特定比例可以为目标节点队列中所有节点数量的20%、30%或35%等等。
在一些场景中,可能需要节点的节点画像数据的大小满足一定条件,才能将节点确定为作业处理节点。基于此,在一个实施例中,上述S232中根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点的步骤,可以包括:根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点。
在实际应用中,预设的作业分配规则是根据待处理计算作业的作业类型根据实际情况创建的规则。可选地,作业分配规则可以包括筛选作业处理节点的条件,该条件包括符合作业处理节点的节点画像数据的大小大于或等于预设阈值。可选地,预设阈值可以是用户自定义确定的,还可以是根据历史经验值确定的,对此本申请实施例不做限定。
本申请实施例可以根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点,该过程可以使得确定的作业处理节点的准确性更高。
本申请实施例中的技术方案,根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序,并根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点;该方法可以根据各节点的节点画像数据对确定的目标节点队列中的节点进行排序,以根据排序结果能够快速获取偏向于处理节点画像对应类型作业的作业处理节点,进而从整体上提高作业处理效率。
在一些场景中,各节点加入节点队列后,且确定作业处理节点之前,节点可能立刻会出现问题,为了成功处理待处理计算作业以及提高作业处理效率,可以在各节点加入节点队列后,根据节点的健康状态动态更新节点队列。基于此,在一实施例中,在执行上述S220中的步骤之前,如图7所示,上述方法还可以包括:
S240、检测各节点的健康状态。
具体地,在执行作业处理方法的过程中,计算机设备可以实时检测计算集群中各节点的健康状态,但是,为了节点检测资源,计算机设备可以在执行上述S300中的步骤之前实时检测计算集群中各节点的健康状态。
可选地,节点的健康状态可以包括是和否。其中,节点的健康状态为是,表明节点无问题,可以正常处理作业;节点的健康状态为否,表明节点有问题,无法正常处理作业。
S250、根据各节点的健康状态更新各节点队列中的节点以及节点画像数据。
在本申请实施例中,对于任一节点,若节点的健康状态为否时,可以从该节点所在的节点队列中将该节点和该节点的节点画像数据删除,并且校验健康状态为是的所有节点和对应节点的画像数据是否存在于节点队列中,若不存在,则将健康状态为是的各节点和对应节点的画像数据添加至对应节点队列中,以得到更新后的节点队列。
本申请实施例中的技术方案,检测各节点的健康状态,并根据各节点的健康状态更新各节点队列中的节点以及节点画像数据;该方法可以在确定作业处理节点之前,根据各节点的健康状态动态更新节点队列,以将作业处理过程中出现问题的节点从节点队列中剔除,进一步基于更新后的节点队列确定作业处理节点,能够从一定程度上提高确定的作业处理节点的准确性,成功处理待处理计算作业以及提高作业处理效率;同时,随着计算集群中各节点处理计算作业次数的增加,各节点的历史运行数据也会不断变化,通过上述方法不断更新节点队列,能够提高每次作业处理过程中确定的作业处理节点的准确性。
一种实施例中,本申请实施例还提供一种作业处理方法,该方法包括以下过程:
(1)获取待处理计算作业的作业类型。
(2)获取当前计算集群中各节点的节点画像。
(3)对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据;其中,节点画像评定规则是根据各节点的历史运行数据构建的,节点画像数据包括每个节点可处理的作业类型。
(4)根据各节点的节点画像,将各节点和各节点的节点画像数据分别添加至不同类型的节点队列中。
(5)检测各节点的健康状态。
(6)根据各节点的健康状态更新各节点队列中的节点以及节点画像数据。
(7)根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列。
(8)根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序。
(9)根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点。
(10)将待处理计算作业分配至作业处理节点进行处理。
以上(1)至(10)的执行过程具体可以参见上述实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的作业处理方法的作业处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个作业处理装置实施例中的具体限定可以参见上文中对于作业处理方法的限定,在此不再赘述。
在一个实施例中,图8为本申请一个实施例中作业处理装置的结构示意图。如图8所示,本申请实施例的作业处理装置,可以包括:获取模块11、确定模块12和处理模块13,其中:
获取模块11,用于获取待处理计算作业的作业类型和当前计算集群中各节点的节点画像数据;节点画像数据包括每个节点可处理的作业类型;
确定模块12,用于根据作业类型和各节点的节点画像数据,从各节点中确定作业处理节点;作业处理节点表示与作业类型相匹配的节点;
处理模块13,用于将待处理计算作业分配至作业处理节点进行处理。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,获取模块11包括:节点画像获取单元和画像数据确定单元,其中:
节点画像获取单元,用于获取当前计算集群中各节点的节点画像;
画像数据确定单元,用于根据预设的节点画像评定规则和各节点的节点画像,确定当前计算集群中各节点的节点画像数据;其中,节点画像评定规则是根据各节点的历史运行数据构建的。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,节点画像评定规则包括不同节点的节点画像的偏向衡量指标和各偏向衡量指标的量化值;画像数据确定单元具体用于:
对于任一节点的节点画像,根据节点的节点画像的偏向衡量指标和偏向衡量指标的量化值,对节点的节点画像进行量化处理,得到节点画像的节点画像数据。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,确定模块12包括:添加单元、目标队列确定单元和作业节点确定单元,其中:
添加单元,用于根据各节点的节点画像,将各节点和各节点的节点画像数据分别添加至不同类型的节点队列中;
目标队列确定单元,用于根据待处理计算作业的作业类型,从各节点队列中确定与待处理计算作业的作业类型相匹配的目标节点队列;
作业节点确定单元,用于根据目标节点队列中的各节点的节点画像数据,确定作业处理节点。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,作业节点确定单元包括:排序子单元和作业节点确定子单元,其中:
排序子单元,用于根据目标节点队列中各节点的节点画像数据,对目标节点队列中的各节点进行排序;
作业节点确定子单元,用于根据目标节点队列中各节点的排序结果,从目标节点队列中的各节点中确定作业处理节点。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,作业节点确定子单元具体用于:
根据预设的作业分配规则,从目标节点队列中各节点的排序结果中确定作业处理节点。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在其中一个实施例中,确定模块12还包括:检测单元和更新单元,其中:
检测单元,用于检测各节点的健康状态;
更新单元,用于根据各节点的健康状态更新各节点队列中的节点以及节点画像数据。
本申请实施例提供的作业处理装置可以用于执行本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
关于作业处理装置的具体限定可以参见上文中对于作业处理方法的限定,在此不再赘述。上述作业处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供处理能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理计算作业。该计算机设备的网络接口用于与外部的终点通过网络连接通信。该计算机程序被处理器执行时以实现一种作业处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请上述作业处理方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请上述作业处理方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请上述作业处理方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。