CN116149830A - 一种基于双尺度节点调度策略的海量数据处理方法及装置 - Google Patents
一种基于双尺度节点调度策略的海量数据处理方法及装置 Download PDFInfo
- Publication number
- CN116149830A CN116149830A CN202310423714.2A CN202310423714A CN116149830A CN 116149830 A CN116149830 A CN 116149830A CN 202310423714 A CN202310423714 A CN 202310423714A CN 116149830 A CN116149830 A CN 116149830A
- Authority
- CN
- China
- Prior art keywords
- node
- sequence
- model
- nodes
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000005457 optimization Methods 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012856 packing Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于双尺度节点调度策略的海量数据处理方法及装置,所述方法的步骤包括:获取模型的模型架构和当前运行参数,基于当前运行参数确定模型是否处于处理高峰;若未处于处理高峰,则基于节点的唤醒时间处理节点上游的待处理文件;若处于处理高峰,则基于模型当前待处理文件数量计算模型堆积率,基于模型堆积率计算模型优先权值;并基于所述模型架构中各个节点的位置构建初始节点序列,并迭代更新,得到最终节点序列;基于当前时刻节点的节点需求利用率和最终节点序列中的节点层级计算节点优先权值;基于模型优先权值和节点优先权值计算每个节点的排序权重,基于排序权重的大小确定存在待处理文件的节点的执行顺序。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于双尺度节点调度策略的海量数据处理方法及装置。
背景技术
近年来,随着云计算、大数据等信息技术的发展,数据量和处理需求急速增加,对数据的处理和利用能力已逐渐成为企业竞争力的重要部分。一个便捷的支持数据业务自动化处理的数据处理建模平台变得愈发重要。
目前主流数据建模平台中的数据处理流程与方法可分为基于有向无环图模型和阶段事件驱动架构两类。在有向无环图模型下能并行处理数据且易于调度,但对循环逻辑与模型处理自动化的支持不佳。阶段事件驱动架构被设计用于高度并发的互联网服务,能同时兼顾性能和开发便利性。将整个处理模型分割为多个处理步骤,每个处理节点可以独立进行。同时两个处理节点之间通过缓存队列来进行通信,可以降低耦合度,以很小的成本来适应实际业务场景中处理需求的变化。
在实际业务的数据处理场景中,不同的模型对应不同的业务流程,往往具有不同的重要程度和实时需求。阶段事件驱动架构中数据处理的关键就在于如何决定不同节点间的调度顺序,传统的像先入先出、静态优先级、短作业优先等策略灵活性较低且依赖人工经验,而对于不同业务场景给出不同的优先级调度的能力,是现有的数据建模平台普遍不具备的。
发明内容
鉴于此,本发明的实施例提供了一种基于双尺度节点调度策略的海量数据处理方法,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的一个方面提供了一种基于双尺度节点调度策略的海量数据处理方法,所述方法的步骤包括:
获取模型的模型架构和当前运行参数,基于所述当前运行参数确定所述模型是否处于处理高峰;
若未处于处理高峰,则基于节点的唤醒时间处理节点上游的待处理文件;
若处于处理高峰,则基于模型当前待处理文件数量计算模型堆积率,基于所述模型堆积率计算模型优先权值;
并基于所述模型架构中各个节点的位置构建初始节点序列,采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列,分别计算所述初始节点序列和次级节点序列的逆序参数,获取逆序参数较小的初始节点序列或次级节点序列,并重复执行预设次数,得到最终节点序列;基于当前时刻节点的节点需求利用率和最终节点序列中每个节点的节点层级计算节点优先权值;
基于模型优先权值和节点优先权值计算每个节点的排序权重,基于所述排序权重的大小确定存在待处理文件的节点的执行顺序。
采用上述方案,本方案首先确定模型是否处于处理高峰,若未处于处理高峰,则按照时间顺序执行模型中存在待处理文件的节点即可;若处于处理高峰,则对基于所述模型架构建立的初始节点序列进行多个轮次的优化,进而确定每个节点的节点层级,基于节点层级计算节点优先权值,再计算模型优先权值,结合两个尺度确定节点的排序权重,将权重较大的节点优先执行,本方案对模型和节点间关系进行联合约束,能结合模型当前的实际情况给出最优的节点调度方案,对于不同业务场景能够给出不同的优先级调度的能力,能够更好的应对实际业务中的数据处理场景。
在本发明的一些实施方式中,在基于所述当前运行参数确定所述模型是否处于处理高峰的步骤中,计算最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值,将该比值与预设的高峰阈值进行比较,确定该模型所述模型是否处于处理高峰。
在具体实施过程中,若最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值大于预设的高峰阈值,则该模型处于处理高峰;若最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值不大于预设的高峰阈值,则该模型不处于处理高峰。
在本发明的一些实施方式中,基于所述模型堆积率计算模型优先权值的步骤还包括,获取所述模型的模型堆积率和预设的静态优先级参数,基于如下公式计算模型优先权值:
其中,m表示模型优先权值。
采用上述方案,每个模型自身的静态优先级参数本身不同,本方案基于模型自身的静态优先级参数和当前的模型堆积率计算模型优先权值,综合考虑模型自身的情况,提高节点的排序权重的计算精准度。
在本发明的一些实施方式中,在基于模型当前待处理文件数量计算模型堆积率的步骤中,计算模型中当前待处理文件数量与预设的堆积上限数量的比值作为模型堆积率。
在本发明的一些实施方式中,基于所述模型架构中各个节点的位置构建初始节点序列的步骤包括:
获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;
获取所述模型架构中的头节点,并逐个记录于第一序列的尾部;
从所述模型架构中删除处于第一序列或第二序列的叶子节点和头节点,重新获取所述模型架构中的叶子节点,并逐个放置于第二序列的首部,重新获取所述模型架构中的头节点,并逐个放置于第一序列的尾部,重复上述步骤,将所述第一序列和第二序列组合为初始节点序列。
在本发明的一些实施方式中,若在获取所述模型架构中的叶子节点或获取所述模型架构中的头节点的步骤中不存在叶子节点或头节点;
则计算所述模型架构中未被记录在第一序列和第二序列的节点的出入度参数;
将所述模型架构中未被记录在第一序列和第二序列的节点中所述出入度参数最大的节点从所述模型架构中删除,并记录于第一序列的尾部,重新尝试获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;及获取所述模型架构中的头节点,并逐个记录于第一序列的尾部的步骤。
采用上述方案,本方案考虑到了模型中节点之间的关系,且本方案能够通过模型自身和节点之间的关系总和考量,进而确定每个节点的排序权重。
在本发明的一些实施方式中,在采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列的步骤中,
采用随机扰动对初始节点序列重新排序将所述初始节点序列划分为预设个序列段,每一序列段分别利用洗牌算法得到新的序列段,并将多个新的序列段重组得到更新节点序列;
采用局部优化算法对更新节点序列重新排序,采用任意两个节点互换和/或任意两个节点间翻转和/或任意两个节点移至队首三种局部优化算子对所述更新节点序列进行更新得到次级节点序列。
采用上述方案,本方案采用多种优化算子,能够更充分的得到序列的多种排列方式,且本方案的重排基于最初基于模型架构得到的初始节点序列,则本方案在降低计算复杂度的前提下,能够更好的优选出更适用的节点排序。
在本发明的一些实施方式中,计算所述初始节点序列和次级节点序列的逆序参数的步骤包括:
在模型初始的模型架构中,将每个节点作为基准节点,获取所述基准节点的子节点和孙子节点,若在所述初始节点序列或次级节点序列中任一个孙子节点的层级小于基准节点,则所述逆序参数加1,若在所述初始节点序列或次级节点序列中任一个子节点的层级小于基准节点,则所述逆序参数加2,分别计算所述初始节点序列和次级节点序列所对应的总逆序参数。
采用上述方案,本方案通过逆序参数考虑了节点之间的连接关系,本方案定义连接逆序参数数进行目标约束,引入一种节点层级配置算法计算较优解。
在本发明的一些实施方式中,在基于当前时刻节点的节点需求利用率和最终节点序列中每个节点的节点层级计算节点优先权值的步骤中,基于如下公式计算节点优先权值:
在本发明的一些实施方式中,在基于模型优先权值和节点优先权值计算每个节点的排序权重的在步骤包括:
获取每个节点的平均处理时长,根据如下公式计算每个节点的排序权重:
本发明的第二方面还提供一种基于双尺度节点调度策略的海量数据处理装置,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法所实现的步骤。
本发明的第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于双尺度节点调度策略的海量数据处理方法所实现的步骤。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明基于双尺度节点调度策略的海量数据处理方法一种实施方式的示意图;
图2为基于所述模型架构中各个节点的位置构建初始节点序列的步骤示意图;
图3为对图1中步骤S320展开的示意图;
图4为本发明基于双尺度节点调度策略的海量数据处理方法另一种实施方式的示意图;
图5为节点层级计算流程的示意图;
图6为双尺度调度执行流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
为解决以上问题,如图1和4所示,本发明提出一种基于双尺度节点调度策略的海量数据处理方法,所述方法的步骤包括:
步骤S100,获取模型的模型架构和当前运行参数,基于所述当前运行参数确定所述模型是否处于处理高峰;
所述模型架构中包括模型的多个节点以及节点之间的上下游关系;所述模型的当前运行参数包括静态优先级参数、模型在历史时间中处理每个文件的处理时间和模型中每个节点的当前待处理文件数量。
步骤S200,若未处于处理高峰,则基于节点的唤醒时间处理节点上游的待处理文件;
在具体实施过程中,所述节点每隔所述唤醒时间进行一次唤醒,若未处于处理高峰,则若节点被唤醒后处理节点上游的待处理文件。
在具体实施过程中,所述节点每隔所述唤醒时间进行一次唤醒,若未处于处理高峰,且该节点上游没有待处理文件,则该节点继续等待下一次唤醒。
步骤S300,若处于处理高峰,则基于模型当前待处理文件数量计算模型堆积率,基于所述模型堆积率计算模型优先权值;
在本发明的一些实施方式中,在基于模型当前待处理文件数量计算模型堆积率的步骤中,计算模型中当前待处理文件数量与预设的堆积上限数量的比值作为模型堆积率。
步骤S310,基于所述模型架构中各个节点的位置构建初始节点序列;
在本发明的一些实施方式中,所述初始节点序列对所述模型中全部节点进行排序,排序靠前的节点的节点层级较小。
步骤S320,采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列;
步骤S330,分别计算所述初始节点序列和次级节点序列的逆序参数,获取逆序参数较小的初始节点序列或次级节点序列,并重复执行预设次数,得到最终节点序列;
在具体实施过程中,在获取逆序参数较小的初始节点序列或次级节点序列,并重复执行预设次数的步骤中,将逆序参数较小的初始节点序列或次级节点序列作为下一轮次比对的初始节点序列,重新构建基于更新后的初始节点序列构建次级节点序列,重新比对所述初始节点序列和次级节点序列的逆序参数,并重复执行上述步骤。
在具体实施过程中,所述预设次数可以为100、200或500次,将最后一次获取的逆序参数较小的初始节点序列或次级节点序列作为最终节点序列。
在本发明的一些实施方式中,在所述初始节点序列、次级节点序列或最终节点序列中第1个节点的节点层级为1,第2个节点的节点层级为2,……,第δ个节点的节点层级为δ。
步骤S340,基于当前时刻节点的节点需求利用率和最终节点序列中每个节点的节点层级计算节点优先权值;
在具体实施过程中,将当前时刻节点的节点需求利用率与预设的节点需求利用率阈值比较,若当前时刻节点的节点需求利用率大于预设的节点需求利用率阈值,则在计算节点优先权值的步骤中将当前时刻节点的节点需求利用率带入0进行计算;若当前时刻节点的节点需求利用率不大于预设的节点需求利用率阈值,则在计算节点优先权值的步骤中将当前时刻节点的节点需求利用率带入1进行计算。
在具体实施过程中,所述节点需求利用率阈值可以为80%,所述节点的节点需求利用率可以为cpu使用占比、内存已使用占比或IO时间占比。
步骤S350,基于模型优先权值和节点优先权值计算每个节点的排序权重,基于所述排序权重的大小确定存在待处理文件的节点的执行顺序。
在具体实施过程中,优先执行当前时刻排序权重较大的节点。
采用上述方案,本方案首先确定模型是否处于处理高峰,若未处于处理高峰,则按照时间顺序执行模型中存在待处理文件的节点即可;若处于处理高峰,则对基于所述模型架构建立的初始节点序列进行多个轮次的优化,进而确定每个节点的节点层级,基于节点层级计算节点优先权值,再计算模型优先权值,结合两个尺度确定节点的排序权重,将权重较大的节点优先执行,本方案对模型和节点间关系进行联合约束,能结合模型当前的实际情况给出最优的节点调度方案,对于不同业务场景能够给出不同的优先级调度的能力,能够更好的应对实际业务中的数据处理场景。
本方案每当启用模型调度,模型内节点的处理任务被唤醒时,将交由双尺度调度策略进行统筹处理。双尺度调度策略将会判断当前系统是否处于执行高峰,非高峰时期提交至线程池的任务将会被空闲线程直接获取并执行。而在数据处理高峰期,执行线程池内无空闲线程,待处理的任务堆积时,会根据联合最优排序决定任务执行顺序,以率先执行更为重要的任务,更好的利用系统资源,防止模型内队列堆积过多,保证高并发时间内系统的高负载能力。
在本发明的一些实施方式中,在基于所述当前运行参数确定所述模型是否处于处理高峰的步骤中,计算最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值,将该比值与预设的高峰阈值进行比较,确定该模型所述模型是否处于处理高峰。
在具体实施过程中,若最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值大于预设的高峰阈值,则该模型处于处理高峰;若最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值不大于预设的高峰阈值,则该模型不处于处理高峰。
在具体实施过程中,所述最近的预设时间段可以为最近5min内,所述最近的预设时间段内所述模型中执行的线程数为所述模型最近5min内处理的任务数量,模型所处理的任务可以为需要输入文件的任务,也可以为不需要输入文件的任务,所述预设的最大线程数可以为50、100或200的等;若所述模型最近5min内处理的文件数量为20,所述预设的最大线程数为100,则比值为20/100=20%,所述预设的高峰阈值可以为50%、70%或90%等,若预设的高峰阈值为70%,则20%小于70%,该模型所述模型未处于处理高峰;若所述模型最近5min内处理的文件数量为80,所述预设的最大线程数为100,则比值为80/100=80%,则80%大于70%,该模型所述模型处于处理高峰。
在本发明的一些实施方式中,基于所述模型堆积率计算模型优先权值的步骤还包括,获取所述模型的模型堆积率和预设的静态优先级参数,基于如下公式计算模型优先权值:
其中,m表示模型优先权值。
采用上述方案,每个模型自身的静态优先级参数本身不同,本方案基于模型自身的静态优先级参数和当前的模型堆积率计算模型优先权值,综合考虑模型自身的情况,提高节点的排序权重的计算精准度。
在具体实施过程中,所述静态优先级参数为用户为模型预设的参数。
在本发明的一些实施方式中,在基于模型当前待处理文件数量计算模型堆积率的步骤中,计算模型中当前待处理文件数量与预设的堆积上限数量的比值作为模型堆积率。
在具体实施过程中,若模型中当前待处理文件数量为800,堆积上限数量为1000,则模型堆积率=800/1000=0.8。
对于模型优先权值,除了用户配置的模型优先级外,系统会在每次源节点调度时计算并更新模型内的队列堆积信息。实际调度时优先考虑堆积更为严重的模型执行。其次,为实现高峰时期的业务顺利执行,缩短总体业务等待时间,我们将对耗时长、性能占用大的处理节点设置相应约束。以实现在系统高峰时期对高耗时任务进行约束,降低总等待时长,提升任务吞吐量。
如图2所示,在本发明的一些实施方式中,基于所述模型架构中各个节点的位置构建初始节点序列的步骤包括:
步骤S311,获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;
在具体实施过程中,所述叶子节点为下游未连接有节点的节点。
步骤S312,获取所述模型架构中的头节点,并逐个记录于第一序列的尾部;
在具体实施过程中,所述头节点为上游未连接有节点的节点。
步骤S313,从所述模型架构中删除处于第一序列或第二序列的叶子节点和头节点;
步骤S314,重新获取所述模型架构中的叶子节点,并逐个放置于第二序列的首部,重新获取所述模型架构中的头节点,并逐个放置于第一序列的尾部,重复上述步骤,将所述第一序列和第二序列组合为初始节点序列。
在具体实施过程中,将所述第一序列设置在第二序列之前,组成所述初始节点序列。
在本发明的一些实施方式中,步骤S315,若在获取所述模型架构中的叶子节点或获取所述模型架构中的头节点的步骤中不存在叶子节点或头节点;
步骤S316,则计算所述模型架构中未被记录在第一序列和第二序列的节点的出入度参数;
在具体实施过程中,在计算节点的出入度参数的步骤中,计算所述节点下游连接的节点数与上游连接的节点数的差,作为节点的出入度参数。
步骤S317,将所述模型架构中未被记录在第一序列和第二序列的节点中所述出入度参数最大的节点从所述模型架构中删除,并记录于第一序列的尾部,重新尝试获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;及获取所述模型架构中的头节点,并逐个记录于第一序列的尾部的步骤。
采用上述方案,本方案考虑到了模型中节点之间的关系,且本方案能够通过模型自身和节点之间的关系总和考量,进而确定每个节点的排序权重。
在本发明的一些实施方式中,本方案的所述模型架构中每次删除叶子节点或头节点后均尝试重新获取叶子节点或头节点,若不能获取叶子节点或头节点则计算所述模型架构中未被记录在第一序列和第二序列的节点的出入度参数,从所述模型架构中删除出入度参数最大的节点,并记录于第一序列的尾部,继续尝试获取模型架构中的叶子节点或头节点,若不能获取叶子节点或头节点则计算所述模型架构中未被记录在第一序列和第二序列的节点的出入度参数,从所述模型架构中删除出入度参数最大的节点,并记录于第一序列的尾部,继续尝试获取模型架构中的叶子节点或头节点,循环执行上述步骤,直到模型架构中所有节点均被记录在第一序列或第二序列。
采用上述方案,本方案能够适用于非带环图和带环图的模型架构。
在本发明的一些实施方式中,在采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列的步骤中,
步骤S321,采用随机扰动对初始节点序列重新排序,具体包括将所述初始节点序列划分为预设个序列段,每一序列段分别利用洗牌算法得到新的序列段,并将多个新的序列段重组得到更新节点序列;
如图3所示,在具体实施过程中,采用洗牌算法随机排列序列段中的节点。
步骤S322,采用局部优化算法对更新节点序列重新排序,具体包括采用任意两个节点互换和/或任意两个节点间翻转和/或任意两个节点移至队首三种局部优化算子对所述更新节点序列进行更新得到次级节点序列。
采用上述方案,本方案采用多种优化算子,能够更充分的得到序列的多种排列方式,且本方案的重排基于最初基于模型架构得到的初始节点序列,则本方案在降低计算复杂度的前提下,能够更好的优选出更适用的节点排序。
在本发明的一些实施方式中,依次采用任意两个节点互换、任意两个节点间翻转和任意两个节点移至队首三种局部优化算子对所述更新节点序列进行更新,若三种局部优化算子中任一个得到的所述次级节点序列的逆序参数小于所述初始节点序列,则将该次级节点序列替换原初始节点序列,并令所述更新节点序列重新执行任意两个节点互换的步骤,每次执行完成任意两个节点移至队首的步骤,且通过任意两个节点移至队首得到的次级节点序列的逆序参数不小于所述初始节点序列,则完成一个轮次,并以当前的初始节点序列重新执行随机扰动的步骤作为新的一个轮次的开始,完成预设轮次。
所述预设轮次可以为500轮次。
如图5和6所示,在本发明的一些实施方式中,首先采用随机扰动将所述初始节点序列划分为预设个序列段,每一序列段分别利用洗牌算法得到新的序列段,并将多个新的序列段重组得到更新节点序列;
采用任意两个节点互换的优化算子,将更新节点序列中任意两个节点互换位置,若更新节点序列存在β个节点,则存在β*(β-1)种排列方式的次级节点序列,若次级节点序列的逆序参数小于所述初始节点序列,则以该次级节点序列替换原初级节点序列,作为新的初级节点序列,并以更新节点序列重新执行任意两个节点互换的优化算子的步骤,直到任意两个节点互换的优化算子得到的次级节点序列的逆序参数不小于所述初始节点序列;
则继续执行两个节点间翻转的优化算子,所述任意两个节点间翻转的优化算子将更新节点序列中任意两点之间的节点逆序排列,得到次级节点序列,所述任意两个节点间翻转的优化算子同样存在β*(β-1)种排列方式的次级节点序列,若次级节点序列的逆序参数小于所述初始节点序列,则以该次级节点序列替换原初级节点序列,作为新的初级节点序列,并以更新节点序列重新执行任意两个节点互换的优化算子的步骤,直到两个节点间翻转的优化算子得到的次级节点序列的逆序参数不小于所述初始节点序列;
则继续执行任意两个节点移至队首的优化算子,所述任意两个节点移至队首的优化算子将更新节点序列中任意两个相邻的节点移动至序列首部,任意两个节点移至队首的优化算子存在β-1种排列方式的次级节点序列,若次级节点序列的逆序参数小于所述初始节点序列,则以该次级节点序列替换原初级节点序列,作为新的初级节点序列,并以更新节点序列重新执行任意两个节点互换的优化算子的步骤,直到任意两个节点移至队首的优化算子得到的次级节点序列的逆序参数不小于所述初始节点序列;
则完成一个轮次,并重新以当前的初始节点序列执行随机扰动作为新的一个轮次的开始,完成预设轮次。
在本发明的一些实施方式中,计算所述更新节点序列的逆序参数的步骤和计算所述初始节点序列和次级节点序列的逆序参数的步骤包括:
在模型初始的模型架构中,将每个节点作为基准节点,获取所述基准节点的子节点和孙子节点,若在所述初始节点序列或次级节点序列中任一个孙子节点的层级小于基准节点,则所述逆序参数加1,若在所述初始节点序列或次级节点序列中任一个子节点的层级小于基准节点,则所述逆序参数加2,分别计算所述初始节点序列和次级节点序列所对应的总逆序参数。
采用上述方案,本方案通过逆序参数考虑了节点之间的连接关系,本方案定义连接逆序参数数进行目标约束,引入一种节点层级配置算法计算较优解。
在具体实施过程中,所述初始节点序列或次级节点序列所对应的总逆序参数,即为所述初始节点序列或次级节点序列的逆序参数。
在本发明的一些实施方式中,在基于当前时刻节点的节点需求利用率和最终节点序列中每个节点的节点层级计算节点优先权值的步骤中,基于如下公式计算节点优先权值:
在本发明的一些实施方式中,在基于模型优先权值和节点优先权值计算每个节点的排序权重的在步骤包括:
获取每个节点的平均处理时长,根据如下公式计算每个节点的排序权重:
采用上述方案,由于海量数据处理业务场景复杂多变,且不同业务的处理模型往往具备不同的优先级和实时性需求。本发明结合了处理节点与模型两种尺度的调度策略,能根据模型间重要程度、数据堆积进行调度,同时考虑模型内节点层级、节点类型与预期排队时间进行联合约束,以实现在系统性能瓶颈下,优先调度更为重要的、更应优先执行的处理节点与业务模型。其中,为实现带环有向图中节点层级计算,本发明定义连接逆序数进行目标约束,引入一种节点层级配置算法计算较优解。
本发明实施例还提供一种基于双尺度节点调度策略的海量数据处理装置,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如前所述方法所实现的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于双尺度节点调度策略的海量数据处理方法所实现的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于双尺度节点调度策略的海量数据处理方法,其特征在于,所述方法的步骤包括:
获取模型的模型架构和当前运行参数,基于所述当前运行参数确定所述模型是否处于处理高峰;
若未处于处理高峰,则基于节点的唤醒时间处理节点上游的待处理文件;
若处于处理高峰,则基于模型当前待处理文件数量计算模型堆积率,基于所述模型堆积率计算模型优先权值;
并基于所述模型架构中各个节点的位置构建初始节点序列,采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列,分别计算所述初始节点序列和次级节点序列的逆序参数,获取逆序参数较小的初始节点序列或次级节点序列,并重复执行预设次数,得到最终节点序列;基于当前时刻节点的节点需求利用率和最终节点序列中每个节点的节点层级计算节点优先权值;
基于模型优先权值和节点优先权值计算每个节点的排序权重,基于所述排序权重的大小确定存在待处理文件的节点的执行顺序。
2.根据权利要求1所述的基于双尺度节点调度策略的海量数据处理方法,其特征在于,在基于所述当前运行参数确定所述模型是否处于处理高峰的步骤中,计算最近的预设时间段内所述模型中执行的线程数和预设的最大线程数的比值,将该比值与预设的高峰阈值进行比较,确定该模型所述模型是否处于处理高峰。
4.根据权利要求1所述的基于双尺度节点调度策略的海量数据处理方法,其特征在于,基于所述模型架构中各个节点的位置构建初始节点序列的步骤包括:
获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;
获取所述模型架构中的头节点,并逐个记录于第一序列的尾部;
从所述模型架构中删除处于第一序列或第二序列的叶子节点和头节点,重新获取所述模型架构中的叶子节点,并逐个放置于第二序列的首部,重新获取所述模型架构中的头节点,并逐个放置于第一序列的尾部,重复上述步骤,将所述第一序列和第二序列组合为初始节点序列。
5.根据权利要求4所述的基于双尺度节点调度策略的海量数据处理方法,其特征在于,若在获取所述模型架构中的叶子节点或获取所述模型架构中的头节点的步骤中不存在叶子节点或头节点;
则计算所述模型架构中未被记录在第一序列和第二序列的节点的出入度参数;
将所述模型架构中未被记录在第一序列和第二序列的节点中所述出入度参数最大的节点从所述模型架构中删除,并记录于第一序列的尾部,重新尝试获取所述模型架构中的叶子节点,并逐个记录于第二序列的首部;及获取所述模型架构中的头节点,并逐个记录于第一序列的尾部的步骤。
6.根据权利要求1所述的基于双尺度节点调度策略的海量数据处理方法,其特征在于,在采用随机扰动和局部优化算法对初始节点序列重新排序,得到次级节点序列的步骤中,
采用随机扰动对初始节点序列重新排序,具体包括将所述初始节点序列划分为预设个序列段,每一序列段分别利用洗牌算法得到新的序列段,并将多个新的序列段重组得到更新节点序列;
采用局部优化算法对更新节点序列重新排序,具体包括采用任意两个节点互换和/或任意两个节点间翻转和/或任意两个节点移至队首三种局部优化算子对所述更新节点序列进行更新得到次级节点序列。
7.根据权利要求1所述的基于双尺度节点调度策略的海量数据处理方法,其特征在于,计算所述初始节点序列和次级节点序列的逆序参数的步骤包括:
在模型初始的模型架构中,将每个节点作为基准节点,获取所述基准节点的子节点和孙子节点,若在所述初始节点序列或次级节点序列中任一个孙子节点的层级小于基准节点,则所述逆序参数加1,若在所述初始节点序列或次级节点序列中任一个子节点的层级小于基准节点,则所述逆序参数加2,分别计算所述初始节点序列和次级节点序列所对应的总逆序参数。
10.一种基于双尺度节点调度策略的海量数据处理装置,其特征在于,该装置包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如权利要求1~9任一项所述方法所实现的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423714.2A CN116149830B (zh) | 2023-04-20 | 2023-04-20 | 一种基于双尺度节点调度策略的海量数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310423714.2A CN116149830B (zh) | 2023-04-20 | 2023-04-20 | 一种基于双尺度节点调度策略的海量数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116149830A true CN116149830A (zh) | 2023-05-23 |
CN116149830B CN116149830B (zh) | 2023-07-04 |
Family
ID=86362178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310423714.2A Active CN116149830B (zh) | 2023-04-20 | 2023-04-20 | 一种基于双尺度节点调度策略的海量数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149830B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016785A1 (en) * | 2000-07-28 | 2002-02-07 | Wadie Sirgany | Computer resource allocation layout description |
US20080040190A1 (en) * | 2006-08-14 | 2008-02-14 | Deepak Khosla | Method, system, and computer program product for multi-mission scheduling |
US20170185454A1 (en) * | 2015-12-25 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Method and Electronic Device for Determining Resource Consumption of Task |
CN110427256A (zh) * | 2019-07-23 | 2019-11-08 | 中南民族大学 | 基于优先级的作业调度优化方法、设备、存储介质及装置 |
CN111222642A (zh) * | 2020-01-03 | 2020-06-02 | 浙江大学 | 基于改进小生境遗传算法的多目标柔性作业车间调度方法 |
CN111352712A (zh) * | 2020-02-25 | 2020-06-30 | 程瑞萍 | 云计算任务跟踪处理方法、装置、云计算系统及服务器 |
WO2022083197A1 (zh) * | 2020-10-22 | 2022-04-28 | 北京锐安科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN114489867A (zh) * | 2022-04-19 | 2022-05-13 | 浙江大华技术股份有限公司 | 算法模块调度方法、算法模块调度装置以及可读存储介质 |
CN115577864A (zh) * | 2022-12-07 | 2023-01-06 | 国网浙江省电力有限公司金华供电公司 | 基于多模型组合运算的配网运行优化调度方法 |
US20230057537A1 (en) * | 2021-08-06 | 2023-02-23 | At&T Intellectual Property I, L.P. | Facilitating striated random restart during allocation of resources using a heuristic approach |
-
2023
- 2023-04-20 CN CN202310423714.2A patent/CN116149830B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016785A1 (en) * | 2000-07-28 | 2002-02-07 | Wadie Sirgany | Computer resource allocation layout description |
US20080040190A1 (en) * | 2006-08-14 | 2008-02-14 | Deepak Khosla | Method, system, and computer program product for multi-mission scheduling |
US20170185454A1 (en) * | 2015-12-25 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | Method and Electronic Device for Determining Resource Consumption of Task |
CN110427256A (zh) * | 2019-07-23 | 2019-11-08 | 中南民族大学 | 基于优先级的作业调度优化方法、设备、存储介质及装置 |
CN111222642A (zh) * | 2020-01-03 | 2020-06-02 | 浙江大学 | 基于改进小生境遗传算法的多目标柔性作业车间调度方法 |
CN111352712A (zh) * | 2020-02-25 | 2020-06-30 | 程瑞萍 | 云计算任务跟踪处理方法、装置、云计算系统及服务器 |
WO2022083197A1 (zh) * | 2020-10-22 | 2022-04-28 | 北京锐安科技有限公司 | 数据处理方法、装置、电子设备和存储介质 |
US20230057537A1 (en) * | 2021-08-06 | 2023-02-23 | At&T Intellectual Property I, L.P. | Facilitating striated random restart during allocation of resources using a heuristic approach |
CN114489867A (zh) * | 2022-04-19 | 2022-05-13 | 浙江大华技术股份有限公司 | 算法模块调度方法、算法模块调度装置以及可读存储介质 |
CN115577864A (zh) * | 2022-12-07 | 2023-01-06 | 国网浙江省电力有限公司金华供电公司 | 基于多模型组合运算的配网运行优化调度方法 |
Non-Patent Citations (7)
Title |
---|
ABOLFAZL GANDOMI等: "HybSMRP:a hybrid scheduling algorithm in Hadoop MapReduce framework", JOURNAL OF BIG DATA * |
YANFEI GUO等: "iShuffle:Improving Hadoop Performance with Shuffle-on-Write", IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, vol. 28, no. 06 * |
侯守明等: "基于时间负载均衡蚁群算法的云任务调度优化", 测控技术, no. 07 * |
孔晓红等: "基于差分进化算法多处理机任务调度研究", 微计算机信息, no. 28 * |
武怀生: "多干扰网络的海量数据优化调度模型仿真分析", 微电子学与计算机, no. 09 * |
王兰等: "异构计算环境下基于优先队列划分的调度算法", 小型微型计算机系统, no. 02 * |
罗红等: "面向场景服务的智能家居中间件系统", 系统与方案 * |
Also Published As
Publication number | Publication date |
---|---|
CN116149830B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115237581B (zh) | 一种面向异构算力的多策略智能调度方法和装置 | |
CN103092683B (zh) | 用于数据分析的基于启发式的调度 | |
CN105260237B (zh) | 异构多核平台的任务调度系统及其调度方法 | |
Wang et al. | Integer-ordered simulation optimization using R-SPLINE: Retrospective search with piecewise-linear interpolation and neighborhood enumeration | |
CN110187965B (zh) | 神经网络的运行优化及数据处理方法、设备及存储介质 | |
CN101719080B (zh) | 多核定时器实现方法及系统 | |
CN110427256A (zh) | 基于优先级的作业调度优化方法、设备、存储介质及装置 | |
CN112000388B (zh) | 基于多边缘集群协同的并发任务调度方法及装置 | |
CN110287018A (zh) | 批量任务编排方法及装置 | |
JP2012517041A (ja) | 遺伝的アプローチによる期限付きタスクの受付制御・スケジューリング方法、システムおよびプログラム | |
CN104094235A (zh) | 多线程计算 | |
WO2020121292A1 (en) | Efficient data processing in a serverless environment | |
Rauchecker et al. | Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm | |
CN116578403A (zh) | 一种基于深度强化学习的rpa流程调度方法及系统 | |
CN108509280A (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN109947568A (zh) | 定时任务处理方法、系统、计算机设备及存储介质 | |
CN117234710A (zh) | 一种采用强化学习实现ai模型训练内存优化的方法 | |
WO2016024508A1 (ja) | マルチプロセッサ装置 | |
CN116149830B (zh) | 一种基于双尺度节点调度策略的海量数据处理方法及装置 | |
CN107589993A (zh) | 一种基于linux实时操作系统的动态优先级调度算法 | |
CN118152084A (zh) | 云计算环境中spark集群多作业调度方法 | |
CN114004441A (zh) | 一种车辆调度方案并行化推演计算方法 | |
CN113094155A (zh) | Hadoop平台下的任务调度方法及装置 | |
Bos et al. | Distributionally robust scheduling of stochastic knapsack arrivals | |
CN103942195A (zh) | 一种数据处理系统以及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |