CN116109110B - 一种业务中台的任务调度方法 - Google Patents
一种业务中台的任务调度方法 Download PDFInfo
- Publication number
- CN116109110B CN116109110B CN202310376247.2A CN202310376247A CN116109110B CN 116109110 B CN116109110 B CN 116109110B CN 202310376247 A CN202310376247 A CN 202310376247A CN 116109110 B CN116109110 B CN 116109110B
- Authority
- CN
- China
- Prior art keywords
- task
- granularity
- duty ratio
- execution
- tasks
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种业务中台的任务调度方法,涉及数据处理技术领域,包括根据业务需求确定一级任务的执行列表;根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;基于二级任务的执行顺序和二级任务的第一执行列表分配资源;根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;并根据监控结果对后续任务调度进行调整。提高了顺序的精度,提高了任务调度的效率。保证任务调度的可靠性。
Description
技术领域
本申请涉及数据处理技术领域,更具体地,涉及一种业务中台的任务调度方法。
背景技术
随着企业信息化建设的深入,业务系统的数量和复杂度不断增加,各个业务系统之间的数据交互和协同工作变得越来越重要。在这种情况下,业务中台作为一种新型的企业级信息系统架构,正在逐渐被广泛应用。业务中台的核心思想是将通用业务逻辑与特定业务场景相分离,实现业务逻辑的复用,从而提高系统的可维护性和可扩展性。
在业务中台中,任务调度是一个重要的过程。任务调度是指按照预定的规则或条件,自动地执行某项任务或一系列任务的过程。在业务中台中,任务调度可以用来自动化执行业务流程、定时生成报表、数据同步等工作。这样可以减轻人工干预的负担,提高系统的稳定性和可靠性。
现有技术中,任务调度时,通常将任务拆分成多个小任务,但是,小任务之间的执行顺序往往存在偏差,导致任务调度的精度差,且调度效率低。
因此,如何提高小任务之间的执行顺序的准确性,是目前有待解决的技术问题。
发明内容
本发明提供一种业务中台的任务调度方法,用以解决现有技术中小任务之间的执行顺序精度低的技术问题。所述方法包括:
获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;
根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;
根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;
基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;
根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;
基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。
本申请一些实施例中,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表,包括:
若业务需求仅涉及单功能的任务处理,则一级任务类型为单类型任务;
若业务需求涉及多个功能的任务处理,则一级任务类型为多类型任务;
根据业务需求确定一级任务的初始执行列表;
若一级任务类型为单类型任务,则将一级任务的初始执行列表作为一级任务的执行列表;
若一级任务类型为多类型任务,则计算一级任务的初始执行列表中各个元素与任务涉及的每个功能的相关度,得到综合相关度,将综合相关度超过对应的阈值的元素作为影响元素,根据任务涉及的多个功能得到共同影响系数,根据共同影响系数和影响元素的类别将影响元素的参数进行调整,将调整后的影响元素替换到一级任务的初始执行列表中,从而得到一级任务的执行列表。
本申请一些实施例中,在根据业务需求确定一级任务类型之前,所述方法还包括:
获取多个功能粒度,并根据多个功能粒度确定每个功能粒度对应的业务需求所耗费的资源以及业务需求所完成的效率,根据每个功能粒度对应的业务需求所耗费的资源建立第一长度轴,根据每个功能粒度对应的业务需求所完成的效率建立第二长度轴;
将多个功能粒度进行粗细排序,得到对应的第一长度轴队列以及第二长度轴队列,根据第一长度轴队列以及第二长度轴队列确定第一长度轴变化和第二长度轴变化;
若第一长度轴变化和第二长度轴变化符合预设变化关系,则将多个功能粒度粗细排序后的中位数作为目标功能粒度,根据目标功能粒度将功能进行划分;
若第一长度轴变化和第二长度轴变化不符合预设变化关系,则将第一长度轴队列中长度的中位数对应的功能粒度作为第一粒度,将第二长度轴队列中长度的中位数对应的功能粒度作为第二粒度;
若第一粒度与第二粒度相同,则将第一粒度或第二粒度作为目标粒度,并将功能进行划分;
若第一粒度与第二粒度不相同,则根据第一粒度与第二粒度之间内的功能粒度确定目标功能粒度,若第一粒度与第二粒度之间内的功能粒度唯一,则将第一粒度与第二粒度之间内的唯一功能粒度作为目标功能粒度,并将功能进行划分;
若第一粒度与第二粒度之间内的功能粒度不唯一,则计算多个功能粒度的平均值,将最接近平均值的功能粒度作为目标功能粒度,并将功能进行划分。
本申请一些实施例中,根据一级任务的执行列表得到二级任务数量,包括:
根据一级任务的执行列表确定一级任务的复杂度参数,一级任务的复杂度参数包括数据量、逻辑量和技术量;
获取一级任务涉及的不可预测量,根据数据量、逻辑量、技术量和不可预测量确定对应的数据得分、逻辑得分、技术得分和不可预测得分;
根据数据得分、逻辑得分、技术得分和不可预测得分确定一级任务的复杂度,并根据一级任务的复杂度确定二级任务数量;
其中,P为一级任务的复杂度,为数据得分对应的权重,/>为数据得分,/>为逻辑得分对应的权重,/>为逻辑得分,/>为技术得分对应的权重,/>为技术得分,exp为指数函数,/>为不可预测得分,k为预设常数。
本申请一些实施例中,根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序,包括:
二级任务的第一执行列表中的元素包括逻辑关系、依赖关系、任务价值和任务成本;
定义逻辑关系和依赖关系为第一优先级,定义任务价值为第二优先级,定义任务成本为第三优先级,其中,第一优先级高于第二优先级,第二优先级高于第三优先级;
第三优先级进行比对时,任务成本包括执行时间和资源消耗,根据执行时间和资源消耗建立任务成本数组(s1,s2),其中,s1为执行时间,s2为资源消耗;
若s1超过第一时间预设值s10,且s2超过第一资源预设值s20,则计算第一时间超出占比和第一资源超出占比,根据第一时间超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间超出占比为,第一资源超出占比为/>;
若s1超过第一时间预设值s10,且s2不超过第一资源预设值s20,或s1不超过第一时间预设值s10,且s2超过第一资源预设值s20,则对应计算第一时间超出占比和第一资源反超出占比,或计算第一时间反超出占比和第一资源超出占比,根据第一时间超出占比和第一资源反超出占比得到第一超出占比,或根据第一时间反超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间反超出占比为,第一资源反超出占比为/>;
若s1不超过第一时间预设值s10,且s2不超过第一资源预设值s20,则计算第二时间超出占比和第二资源超出占比,根据第二时间超出占比和第二资源超出占比确定第二超出占比,根据第二超出占比确定二级任务之间的优先顺序,其中,第二时间超出占比为,第二资源超出占比为/>,s11为第二时间预设值,s21为第二资源预设值,且s11<s10,s21<s20;
根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。
本申请一些实施例中,基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,得到资源分配列表,包括:
根据二级任务的执行顺序对二级任务的第一执行列表中的任务成本进行调整,将调整后的任务成本作为二级任务的第二执行列表,根据二级任务的第二执行列表得到资源分配列表。
本申请一些实施例中,基于二级任务的第一执行列表确定节点数量,包括:
基于二级任务的第一执行列表确定二级任务的复杂度,根据多个二级任务的复杂度得到一级任务的伪复杂度,基于一级任务的复杂度和一级任务的伪复杂度之差对一级任务的伪复杂度进行调整,根据调整后的一级任务的伪复杂度确定节点数量。
本申请一些实施例中,基于节点数量在任务调度的过程中进行任务完成情况的监控,包括:
将任务调度过程转化为一条流程,基于节点数量将流程切割成多个子流程,多个子流程的连接点为节点,每个节点监控任务的完成情况。
本申请一些实施例中,并根据监控结果对后续任务调度进行调整,包括:
根据每个子流程预测各个节点的负载理论量,根据上一个节点的负载实际量与负载理论量之差调整下一个节点的负载理论量;
若节点的负载实际量大于负载理论量,且节点的负载实际量与负载理论量之差超过预设差值,则将该节点相关的二级任务分配到负载实际量小于负载理论量的节点上。
通过应用以上技术方案,获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。本申请通过一级任务的执行列表得到二级任务数量,从而将任务进行合理的拆分,根据元素的优先级确定二级任务的执行顺序,保证了二级任务执行的顺序性,提高了顺序的精度,提高了任务调度的效率。根据监控结果对后续任务调度进行调整,保证任务调度的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种业务中台的任务调度方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种业务中台的任务调度方法,如图1所示,该方法包括以下步骤:
步骤S101,获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;
步骤S102,根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;
步骤S103,根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;
步骤S104,基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;
步骤S105,根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;
步骤S106,基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。
本实施例中,业务需求指企业或组织为达成其目标所需满足的具体业务功能或服务要求。一级任务是指任务调度的整体任务,一级任务的执行列表包括执行频率、执行条件和执行时间等执行元素。
本实施例中,二级任务是将一级任务拆分后的多个小任务,二级任务数量是指小任务数量。二级任务数量不同表示拆解的程度不同,从而影响任务调度过程。
上述方案的有益效果:根据一级任务的执行列表得到二级任务数量,保证了任务拆分的程度的精确性,更符合任务调度流程需求。根据元素的优先级确定二级任务的执行顺序,提高了小任务执行的顺序的精确性,保证了流程有序进行。
本申请一种业务中台的任务调度方法一些实施例中,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表,包括:
若业务需求仅涉及单功能的任务处理,则一级任务类型为单类型任务;
若业务需求涉及多个功能的任务处理,则一级任务类型为多类型任务;
根据业务需求确定一级任务的初始执行列表;
若一级任务类型为单类型任务,则将一级任务的初始执行列表作为一级任务的执行列表;
若一级任务类型为多类型任务,则计算一级任务的初始执行列表中各个元素与任务涉及的每个功能的相关度,得到综合相关度,将综合相关度超过对应的阈值的元素作为影响元素,根据任务涉及的多个功能得到共同影响系数,根据共同影响系数和影响元素的类别将影响元素的参数进行调整,将调整后的影响元素替换到一级任务的初始执行列表中,从而得到一级任务的执行列表。
本实施例中,多类型任务涉及的功能较为复杂,可能导致初始执行列表中元素的一些数据并不准确,需要进行一定的调整。
本实施例中,将元素以及功能表示成文本形式,计算两者之间的相似度或距离,从而得到初始执行列表中一个元素与每个功能的相关度,根据预设的每个功能对应的权重和每个功能的相关度得到一个元素的综合相关度(各个相关度与权重乘积之和),将综合相关度超过对应(这个元素)的阈值的元素作为影响元素,这里元素的阈值是提前设置好的,可以根据系统实际内容不同而进行改变。
本实施例中,任务涉及的多个功能得到共同影响系数,是指多个不同功能对应有一个共同影响系数,这里共同影响系数是根据以往的历史经验,提前设置好多个不同功能对应的一个共同影响系数。
本实施例中,这个共同影响系数对应不同影响元素的类别存在有不同的影响因子,根据共同影响系数和影响元素的类别将影响元素的参数进行调整,是指共同影响系数*影响因子*初始参数,结果即为调整后的影响元素的参数。
本申请一些实施例中,在根据业务需求确定一级任务类型之前,所述方法还包括:
获取多个功能粒度,并根据多个功能粒度确定每个功能粒度对应的业务需求所耗费的资源以及业务需求所完成的效率,根据每个功能粒度对应的业务需求所耗费的资源建立第一长度轴,根据每个功能粒度对应的业务需求所完成的效率建立第二长度轴;
将多个功能粒度进行粗细排序,得到对应的第一长度轴队列以及第二长度轴队列,根据第一长度轴队列以及第二长度轴队列确定第一长度轴变化和第二长度轴变化;
若第一长度轴变化和第二长度轴变化符合预设变化关系,则将多个功能粒度粗细排序后的中位数作为目标功能粒度,根据目标功能粒度将功能进行划分;
若第一长度轴变化和第二长度轴变化不符合预设变化关系,则将第一长度轴队列中长度的中位数对应的功能粒度作为第一粒度,将第二长度轴队列中长度的中位数对应的功能粒度作为第二粒度;
若第一粒度与第二粒度相同,则将第一粒度或第二粒度作为目标粒度,并将功能进行划分;
若第一粒度与第二粒度不相同,则根据第一粒度与第二粒度之间内的功能粒度确定目标功能粒度,若第一粒度与第二粒度之间内的功能粒度唯一,则将第一粒度与第二粒度之间内的唯一功能粒度作为目标功能粒度,并将功能进行划分;
若第一粒度与第二粒度之间内的功能粒度不唯一,则计算多个功能粒度的平均值,将最接近平均值的功能粒度作为目标功能粒度,并将功能进行划分。
本实施例中,根据上述内容,功能粒度的确定就显得尤为重要,获得多个粗细不同的功能粒度,根据功能粒度对应的耗费资源变化以及效率变化,确定一个最合适的功能粒度。
本实施例中,第一长度轴越长表示耗费资源越多,第二长度轴越长表示效率越低,反之,同理。第一长度轴变化和第二长度轴变化符合预设变化关系,是指随着粒度的变粗,第一长度轴变化趋势逐渐变长,第二长度轴变化趋势逐渐变长。或者相反。将多个功能粒度粗细排序后的中位数作为目标功能粒度,中位数存在两个即随机一个即可。
本实施例中,理想情况下是符合预设变化关系,但因为数据处理和任务情况比较复杂,很多时候不符合预设变化关系。
上述方案的有益效果:根据业务需求和一级任务类型确定一级任务的执行列表,根据功能粒度对应的耗费资源变化以及效率变化,确定一个最合适的功能粒度。提高了功能粒度确定的准确性,以及一级任务执行列表的可靠性,为后续任务拆分以及调度提供坚实基础。
本申请一种业务中台的任务调度方法一些实施例中,根据一级任务的执行列表得到二级任务数量,包括:
根据一级任务的执行列表确定一级任务的复杂度参数,一级任务的复杂度参数包括数据量、逻辑量和技术量;
获取一级任务涉及的不可预测量,根据数据量、逻辑量、技术量和不可预测量确定对应的数据得分、逻辑得分、技术得分和不可预测得分;
根据数据得分、逻辑得分、技术得分和不可预测得分确定一级任务的复杂度,并根据一级任务的复杂度确定二级任务数量;
其中,P为一级任务的复杂度,为数据得分对应的权重,/>为数据得分,/>为逻辑得分对应的权重,/>为逻辑得分,/>为技术得分对应的权重,/>为技术得分,exp为指数函数,/>为不可预测得分,k为预设常数。
本实施例中,将一级任务拆分成多个二级任务,二级任务的数量跟一级任务的复杂程度影响较大。任务需要处理的数据量、处理逻辑、所涉及的技术难度。不可预测量是指任务过程不可预测的程度,程度越大,说明复杂性越大。
本实施例中,每个一级任务的复杂度确定有一个二级任务数量。
上述技术方案的有益效果:根据数据得分、逻辑得分、技术得分和不可预测得分确定一级任务的复杂度,并根据一级任务的复杂度确定二级任务数量。保证了一级任务的合理拆分,从而提高了任务调度的可靠性。
本申请一种业务中台的任务调度方法一些实施例中,根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序,包括:
二级任务的第一执行列表中的元素包括逻辑关系、依赖关系、任务价值和任务成本;
定义逻辑关系和依赖关系为第一优先级,定义任务价值为第二优先级,定义任务成本为第三优先级,其中,第一优先级高于第二优先级,第二优先级高于第三优先级;
第三优先级进行比对时,任务成本包括执行时间和资源消耗,根据执行时间和资源消耗建立任务成本数组(s1,s2),其中,s1为执行时间,s2为资源消耗;
若s1超过第一时间预设值s10,且s2超过第一资源预设值s20,则计算第一时间超出占比和第一资源超出占比,根据第一时间超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间超出占比为,第一资源超出占比为/>;
若s1超过第一时间预设值s10,且s2不超过第一资源预设值s20,或s1不超过第一时间预设值s10,且s2超过第一资源预设值s20,则对应计算第一时间超出占比和第一资源反超出占比,或计算第一时间反超出占比和第一资源超出占比,根据第一时间超出占比和第一资源反超出占比得到第一超出占比,或根据第一时间反超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间反超出占比为,第一资源反超出占比为/>;
若s1不超过第一时间预设值s10,且s2不超过第一资源预设值s20,则计算第二时间超出占比和第二资源超出占比,根据第二时间超出占比和第二资源超出占比确定第二超出占比,根据第二超出占比确定二级任务之间的优先顺序,其中,第二时间超出占比为,第二资源超出占比为/>,s11为第二时间预设值,s21为第二资源预设值,且s11<s10,s21<s20;
根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。
本实施例中,二级任务的第一执行列表中的元素包括逻辑关系、依赖关系、任务价值和任务成本等执行元素。逻辑关系是指根据任务的业务逻辑,分析任务之间的先后顺序。依赖关系是指某个任务需要先执行另外一个任务才能开始执行,或某个任务需要在另外一个任务执行完成后才能开始执行等。任务价值为任务紧急程度和重要程度的综合量,综合量越高,执行顺序越靠前。任务成本是执行时间和耗费资源。
本实施例中,根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。是指通过比对两个二级任务之间的第一优先级、第二优先级和第三优先级,来判断执行顺序的。例如,两个任务n1、n2之间进行比对,如果n1的第一优先级大于n2的第一优先级,则n1排在n2之前。如果n1的第一优先级小于n2的第一优先级,则n2排在n1之前。如果n1的第一优先级等于n2的第一优先级,则比对第二优先级,根据第二优先级的大小确定顺序,如果第二优先级相等,则比对第三优先级。这里一般情况下,除非两个任务间存在逻辑上的关系或依赖关系,否则,一般来说两个任务的第一优先级是相等的。
需要说明的是,第一优先级能判断顺序的,就不考虑第二优先级和第三优先级,同理,第二优先级能判断顺序的,就不考虑第三优先级。
本实施例中,根据第一超出占比确定二级任务之间的优先顺序,是指将两个第一超出占比中较大的一方任务顺序排前。根据第一超出占比确定二级任务之间的优先顺序和根据第二超出占比确定二级任务之间的优先顺序同理。
本实施例中,根据第一时间超出占比和第一资源超出占比得到第一超出占比,是指第一时间超出占比和第一资源超出占比分别乘以对应权重(预设值),乘积之和为第一超出占比。
本实施例中,根据第一时间超出占比和第一资源反超出占比得到第一超出占比,或根据第一时间反超出占比和第一资源超出占比得到第一超出占比,是指将超出占比和反超出占比乘以对应的权重,乘积之和为第一超出占比。
需要说明的是,根据第一时间超出占比和第一资源超出占比得到第一超出占比、根据第一时间超出占比和第一资源反超出占比得到第一超出占比、根据第一时间反超出占比和第一资源超出占比得到第一超出占比,三者对应的权重不同(两个权重均不同)。第二超出占比的确定过程同理。
本实施例中,一般来说,s1大于s11,s2大于s21,这里每个二级任务对应的预设值不同。
上述方案的有益效果:根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。保证了二级任务安排的合理性,提高了二级任务有序进行的效率。
本申请一种业务中台的任务调度方法一些实施例中,基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,得到资源分配列表,包括:
根据二级任务的执行顺序对二级任务的第一执行列表中的任务成本进行调整,将调整后的任务成本作为二级任务的第二执行列表,根据二级任务的第二执行列表得到资源分配列表。
本实施例中,不同的执行顺序可能会影响任务成本,因此,对其进行调整。资源分配列表包括 CPU、内存、网络带宽、存储等资源。
本申请一些实施例中,基于二级任务的第一执行列表确定节点数量,包括:
基于二级任务的第一执行列表确定二级任务的复杂度,根据多个二级任务的复杂度得到一级任务的伪复杂度,基于一级任务的复杂度和一级任务的伪复杂度之差对一级任务的伪复杂度进行调整,根据调整后的一级任务的伪复杂度确定节点数量。
本实施例中,综合二级任务的第一执行列表中各个元素计算二级任务的复杂度,根据多个二级任务的复杂度确定一个一级任务的伪复杂度。
本实施例中,基于一级任务的复杂度和一级任务的伪复杂度之差对一级任务的伪复杂度进行调整,每个差值对应有一个修正因子,从而对伪复杂度进行调整。一级任务的伪复杂度对应有一个节点数量。
本申请一些实施例中,基于节点数量在任务调度的过程中进行任务完成情况的监控,包括:
将任务调度过程转化为一条流程,基于节点数量将流程切割成多个子流程,多个子流程的连接点为节点,每个节点监控任务的完成情况。
本申请一些实施例中,并根据监控结果对后续任务调度进行调整,包括:
根据每个子流程预测各个节点的负载理论量,根据上一个节点的负载实际量与负载理论量之差调整下一个节点的负载理论量;
若节点的负载实际量大于负载理论量,且节点的负载实际量与负载理论量之差超过预设差值,则将该节点相关的二级任务分配到负载实际量小于负载理论量的节点上。
本实施例中,每个节点之间的负载量存在一定影响。根据上一个节点的负载实际量与负载理论量之差对应有一个修正因子,从而调整下一个节点的负载理论量。
本实施例中,将该节点相关的二级任务分配到负载实际量小于负载理论量的节点上,前提是不影响二级任务的执行顺序。
通过应用以上技术方案,获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。本申请通过一级任务的执行列表得到二级任务数量,从而将任务进行合理的拆分,根据元素的优先级确定二级任务的执行顺序,保证了二级任务执行的顺序性,提高了顺序的精度,提高了任务调度的效率。根据监控结果对后续任务调度进行调整,保证任务调度的可靠性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种业务中台的任务调度方法,其特征在于,所述方法包括:
获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;
根据一级任务的执行列表得到二级任务数量,包括:根据一级任务的执行列表确定一级任务的复杂度参数,一级任务的复杂度参数包括数据量、逻辑量和技术量;
获取一级任务涉及的不可预测量,根据数据量、逻辑量、技术量和不可预测量确定对应的数据得分、逻辑得分、技术得分和不可预测得分;
根据数据得分、逻辑得分、技术得分和不可预测得分确定一级任务的复杂度,并根据一级任务的复杂度确定二级任务数量;
其中,P为一级任务的复杂度,为数据得分对应的权重,/>为数据得分,/>为逻辑得分对应的权重,/>为逻辑得分,/>为技术得分对应的权重,/>为技术得分,exp为指数函数,/>为不可预测得分,k为预设常数;
根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;
根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;
基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;
根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;
基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。
2.如权利要求1所述的方法,其特征在于,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表,包括:
若业务需求仅涉及单功能的任务处理,则一级任务类型为单类型任务;
若业务需求涉及多个功能的任务处理,则一级任务类型为多类型任务;
根据业务需求确定一级任务的初始执行列表;
若一级任务类型为单类型任务,则将一级任务的初始执行列表作为一级任务的执行列表;
若一级任务类型为多类型任务,则计算一级任务的初始执行列表中各个元素与任务涉及的每个功能的相关度,得到综合相关度,将综合相关度超过对应的阈值的元素作为影响元素,根据任务涉及的多个功能得到共同影响系数,根据共同影响系数和影响元素的类别将影响元素的参数进行调整,将调整后的影响元素替换到一级任务的初始执行列表中,从而得到一级任务的执行列表。
3.如权利要求2所述的方法,其特征在于,在根据业务需求确定一级任务类型之前,所述方法还包括:
获取多个功能粒度,并根据多个功能粒度确定每个功能粒度对应的业务需求所耗费的资源以及业务需求所完成的效率,根据每个功能粒度对应的业务需求所耗费的资源建立第一长度轴,根据每个功能粒度对应的业务需求所完成的效率建立第二长度轴;
将多个功能粒度进行粗细排序,得到对应的第一长度轴队列以及第二长度轴队列,根据第一长度轴队列以及第二长度轴队列确定第一长度轴变化和第二长度轴变化;
若第一长度轴变化和第二长度轴变化符合预设变化关系,则将多个功能粒度粗细排序后的中位数作为目标功能粒度,根据目标功能粒度将功能进行划分;
若第一长度轴变化和第二长度轴变化不符合预设变化关系,则将第一长度轴队列中长度的中位数对应的功能粒度作为第一粒度,将第二长度轴队列中长度的中位数对应的功能粒度作为第二粒度;
若第一粒度与第二粒度相同,则将第一粒度或第二粒度作为目标粒度,并将功能进行划分;
若第一粒度与第二粒度不相同,则根据第一粒度与第二粒度之间内的功能粒度确定目标功能粒度,若第一粒度与第二粒度之间内的功能粒度唯一,则将第一粒度与第二粒度之间内的唯一功能粒度作为目标功能粒度,并将功能进行划分;
若第一粒度与第二粒度之间内的功能粒度不唯一,则计算多个功能粒度的平均值,将最接近平均值的功能粒度作为目标功能粒度,并将功能进行划分。
4.如权利要求1所述的方法,其特征在于,根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序,包括:
二级任务的第一执行列表中的元素包括逻辑关系、依赖关系、任务价值和任务成本;
定义逻辑关系和依赖关系为第一优先级,定义任务价值为第二优先级,定义任务成本为第三优先级,其中,第一优先级高于第二优先级,第二优先级高于第三优先级;
第三优先级进行比对时,任务成本包括执行时间和资源消耗,根据执行时间和资源消耗建立任务成本数组(s1,s2),其中,s1为执行时间,s2为资源消耗;
若s1超过第一时间预设值s10,且s2超过第一资源预设值s20,则计算第一时间超出占比和第一资源超出占比,根据第一时间超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间超出占比为,第一资源超出占比为/>;
若s1超过第一时间预设值s10,且s2不超过第一资源预设值s20,或s1不超过第一时间预设值s10,且s2超过第一资源预设值s20,则对应计算第一时间超出占比和第一资源反超出占比,或计算第一时间反超出占比和第一资源超出占比,根据第一时间超出占比和第一资源反超出占比得到第一超出占比,或根据第一时间反超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间反超出占比为,第一资源反超出占比为/>;
若s1不超过第一时间预设值s10,且s2不超过第一资源预设值s20,则计算第二时间超出占比和第二资源超出占比,根据第二时间超出占比和第二资源超出占比确定第二超出占比,根据第二超出占比确定二级任务之间的优先顺序,其中,第二时间超出占比为,第二资源超出占比为/>,s11为第二时间预设值,s21为第二资源预设值,且s11<s10,s21<s20;
根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。
5.如权利要求4所述的方法,其特征在于,基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,得到资源分配列表,包括:
根据二级任务的执行顺序对二级任务的第一执行列表中的任务成本进行调整,将调整后的任务成本作为二级任务的第二执行列表,根据二级任务的第二执行列表得到资源分配列表。
6.如权利要求1所述的方法,其特征在于,基于二级任务的第一执行列表确定节点数量,包括:
基于二级任务的第一执行列表确定二级任务的复杂度,根据多个二级任务的复杂度得到一级任务的伪复杂度,基于一级任务的复杂度和一级任务的伪复杂度之差对一级任务的伪复杂度进行调整,根据调整后的一级任务的伪复杂度确定节点数量。
7.如权利要求6所述的方法,其特征在于,基于节点数量在任务调度的过程中进行任务完成情况的监控,包括:
将任务调度过程转化为一条流程,基于节点数量将流程切割成多个子流程,多个子流程的连接点为节点,每个节点监控任务的完成情况。
8.如权利要求7所述的方法,其特征在于,并根据监控结果对后续任务调度进行调整,包括:
根据每个子流程预测各个节点的负载理论量,根据上一个节点的负载实际量与负载理论量之差调整下一个节点的负载理论量;
若节点的负载实际量大于负载理论量,且节点的负载实际量与负载理论量之差超过预设差值,则将该节点相关的二级任务分配到负载实际量小于负载理论量的节点上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376247.2A CN116109110B (zh) | 2023-04-11 | 2023-04-11 | 一种业务中台的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376247.2A CN116109110B (zh) | 2023-04-11 | 2023-04-11 | 一种业务中台的任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116109110A CN116109110A (zh) | 2023-05-12 |
CN116109110B true CN116109110B (zh) | 2023-06-23 |
Family
ID=86256439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310376247.2A Active CN116109110B (zh) | 2023-04-11 | 2023-04-11 | 一种业务中台的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116109110B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103364A (zh) * | 2017-03-28 | 2017-08-29 | 上海大学 | 一种基于多源域的任务拆分迁移学习预测方法 |
CN110597618A (zh) * | 2019-07-26 | 2019-12-20 | 苏宁云计算有限公司 | 一种数据交换系统的任务拆分方法及装置 |
CN115686873A (zh) * | 2022-12-30 | 2023-02-03 | 摩尔线程智能科技(北京)有限责任公司 | 用于多核系统的核心调度方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605498B (zh) * | 2013-12-05 | 2016-07-06 | 用友网络科技股份有限公司 | 单线程任务的多线程执行方法及系统 |
CN109408215B (zh) * | 2018-11-07 | 2021-10-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
CN111427681B (zh) * | 2020-02-19 | 2023-02-17 | 上海交通大学 | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 |
CN113391914A (zh) * | 2020-03-11 | 2021-09-14 | 上海商汤智能科技有限公司 | 任务调度方法和装置 |
CN111813554A (zh) * | 2020-07-17 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种任务调度处理方法、装置及电子设备和存储介质 |
CN111901573A (zh) * | 2020-08-17 | 2020-11-06 | 泽达易盛(天津)科技股份有限公司 | 一种基于边缘计算的细颗粒度实时监管系统 |
CN112214318A (zh) * | 2020-09-28 | 2021-01-12 | 苏州浪潮智能科技有限公司 | 一种任务调度方法、系统、设备以及介质 |
CN112540841B (zh) * | 2020-12-28 | 2021-11-12 | 智慧神州(北京)科技有限公司 | 任务调度的方法、装置、处理器与电子设备 |
CN113704089B (zh) * | 2021-07-26 | 2023-01-10 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种全场景的gsm-r接口服务器测试平台系统 |
CN115454589A (zh) * | 2022-07-29 | 2022-12-09 | 天翼云科技有限公司 | 一种任务调度方法、装置及Kubernetes调度器 |
-
2023
- 2023-04-11 CN CN202310376247.2A patent/CN116109110B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103364A (zh) * | 2017-03-28 | 2017-08-29 | 上海大学 | 一种基于多源域的任务拆分迁移学习预测方法 |
CN110597618A (zh) * | 2019-07-26 | 2019-12-20 | 苏宁云计算有限公司 | 一种数据交换系统的任务拆分方法及装置 |
CN115686873A (zh) * | 2022-12-30 | 2023-02-03 | 摩尔线程智能科技(北京)有限责任公司 | 用于多核系统的核心调度方法和装置 |
Non-Patent Citations (1)
Title |
---|
异构云平台下多DAG工作流的节能调度策略研究;齐舸;《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》;第2021卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116109110A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khorsand et al. | An energy‐efficient task‐scheduling algorithm based on a multi‐criteria decision‐making method in cloud computing | |
CN111427679B (zh) | 面向边缘计算的计算任务调度方法、系统、装置 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
US8020161B2 (en) | Method and system for the dynamic scheduling of a stream of computing jobs based on priority and trigger threshold | |
US8997107B2 (en) | Elastic scaling for cloud-hosted batch applications | |
EP3920490B1 (en) | Adaptive resource allocation method and apparatus | |
Muthuvelu et al. | A dynamic job grouping-based scheduling for deploying applications with fine-grained tasks on global grids | |
US8918792B2 (en) | Workflow monitoring and control system, monitoring and control method, and monitoring and control program | |
Nguyen et al. | A hybrid scheduling algorithm for data intensive workloads in a mapreduce environment | |
US20120331476A1 (en) | Method and system for reactive scheduling | |
CN112817728B (zh) | 任务调度方法、网络设备和存储介质 | |
Choi et al. | An enhanced data-locality-aware task scheduling algorithm for hadoop applications | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
Bredael et al. | Multi-project scheduling: A benchmark analysis of metaheuristic algorithms on various optimisation criteria and due dates | |
CN111240824A (zh) | 一种cpu资源调度方法及电子设备 | |
US11088964B1 (en) | Service level based priority scheduler for multi-tenancy computing systems | |
CN116109110B (zh) | 一种业务中台的任务调度方法 | |
CN117608840A (zh) | 一种智能监控系统资源综合管理的任务处理方法及系统 | |
Lin et al. | Two-tier project and job scheduling for SaaS cloud service providers | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
Kapil et al. | Resource aware scheduling in Hadoop for heterogeneous workloads based on load estimation | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及系统 | |
CN110851245A (zh) | 一种分布式异步任务调度方法及电子设备 | |
Kim et al. | A due date-based approach to part type selection in flexible manufacturing systems | |
CN116010051A (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 |