CN116541165A - 实时系统任务调度方法、装置、计算机设备以及存储介质 - Google Patents
实时系统任务调度方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN116541165A CN116541165A CN202310446398.0A CN202310446398A CN116541165A CN 116541165 A CN116541165 A CN 116541165A CN 202310446398 A CN202310446398 A CN 202310446398A CN 116541165 A CN116541165 A CN 116541165A
- Authority
- CN
- China
- Prior art keywords
- task
- chromosome
- thread
- executed
- candidate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 210000000349 chromosome Anatomy 0.000 claims abstract description 229
- 238000013468 resource allocation Methods 0.000 claims abstract description 49
- 230000002068 genetic effect Effects 0.000 claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 25
- 238000012216 screening Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 13
- 230000035772 mutation Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002759 chromosomal effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种实时系统任务调度方法、装置、计算机设备以及存储介质。方法包括:获取待执行任务、以及候选线程;根据待执行任务以及候选线程,获取线程资源分配的可行解集合;结合候选线程,对可行解集合中的可行解进行仿遗传学编码,得到染色体群;从染色体群中提取得到适应度最小的染色体;解码适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;根据目标任务执行序列以及目标线程运行序列,执行待执行任务。采用本方法对多线程下多任务的实时系统的给出实时任务调度方式,避免了以任务最晚执行时间等时间尺度作为任务优先级评价基准导致的任务积压或任务执行失败的情况,提高了任务调度以及线程分配结果的可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种实时系统任务调度方法、装置、计算机设备、存储介质以及计算机程序产品。
背景技术
随着实时系统在航空、电力以及武器装备等对实时性要求高的产业中被越来越多的应用;例如,运用在航空装备系统中的VxWorks实时系统,其所处的实时系统环境需保证实时任务调度的逻辑与时间的正确性。如何保证其各线程中待执行的实时任务能够顺利的执行,成为了实时系统重最为核心的问题。
在实时系统中,要求每个实时任务都要在特定的时间约束内完成。然而,在系统负载量较高的情况下,实时系统通常缺乏足够的时间来调度任务执行。实时任务没有时间运行,或者在运行未完成时即达到任务截止时限进而导致任务执行失败。而任务执行失败也将威胁整个系统的安全性。
在传统的技术方案的实时系统中,所设置的调度策略通常仅仅根据单一的任务属性,例如任务的优先级,进行单一条件限制下的线程调度以及任务安排,无法应对超负荷的情况,导致出现任务积压或任务执行失败的情况,任务和线程调度方案的可靠性低。
发明内容
基于此,有必要针对上述技术问题,提供一种可靠度更高的实时系统任务调度方法、装置、计算机设备、存储介质以及计算机程序产品。
第一方面,本申请提供了一种实时系统任务调度方法。所述方法包括:
获取待执行任务、以及候选线程;
根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
从所述染色体群中提取得到适应度最小的染色体;
解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
在其中一个实施例中,所述根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合,包括:
根据所述待执行任务以及所述候选线程,构建得到线程资源分配模型;
获取所述待执行任务的执行时间、以及任务贡献值;
根据所述执行时间和所述任务贡献值,生成所述线程资源分配模型的约束条件;
对在所述约束条件下的线程资源分配模型进行求解,得到所述可行解集合。
在其中一个实施例中,方法在从所述染色体群中提取得到适应度最小的染色体之前,还包括:
获取所述染色体群中的染色体;
解码所述染色体,得到染色体中的候选任务序列;
计算完成所述候选任务序列中所有候选任务的完成时间,以及候选任务完成后的剩余贡献值;
获取适应度函数的时间权重以及贡献值权重;
计算所述完成时间与所述时间权重的第一乘积,以及剩余贡献值与贡献值权重的第二乘积;
将所述第一乘积与所述第二乘积求和,得到染色体所对应的适应度。
在其中一个实施例中,所述从所述染色体群中提取得到适应度最小的染色体,包括:
获取所述染色体群中的染色体所对应的适应度;
对所述适应度进行倒数运算,得到所述染色体的选择概率;
根据所述选择概率对所述染色体群进行筛选;
将筛选后的染色体群中染色体进行染色体交叉处理;
选取交叉处理后的染色体进行变异处理,得到变异个体;
从所述变异个体中筛选得到适应度最小的染色体。
在其中一个实施例中,所述将筛选后的染色体群中染色体进行染色体交叉处理,包括:
从筛选后的染色体群中提取待交叉的染色体;
获取待交叉的染色体中预先设置的交叉点位;
根据所述交叉点位,将待交叉的染色体中的信息序列进行替换,得到交叉处理后的染色体。
在其中一个实施例中,所述结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群,包括:
获取所述可行解中的任务执行顺序;
从所述任务执行顺序中,提取单个任务的预设执行步骤;
根据所述任务执行顺序、所述预设执行步骤,生成所述候选线程的线程启用顺序;
将所述任务执行顺序中的任务序号、以及所述线程启用顺序的线程序号,组合形成字符串;
根据所述字符串进行仿遗传学编码,根据编码后得到染色体构建得到染色体群。
第二方面,本申请还提供了一种实时系统任务调度装置。所述装置包括:
任务获取模块,获取待执行任务、以及候选线程;
资源预分配模块,根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
遗传编码模块,结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
个体筛选模块,从所述染色体群中提取得到适应度最小的染色体;
遗传解码模块,解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
任务执行模块,根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待执行任务、以及候选线程;
根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
从所述染色体群中提取得到适应度最小的染色体;
解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待执行任务、以及候选线程;
根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
从所述染色体群中提取得到适应度最小的染色体;
解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待执行任务、以及候选线程;
根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
从所述染色体群中提取得到适应度最小的染色体;
解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
上述实时系统任务调度方法、装置、计算机设备和存储介质;其中,方法首先基于待执行任务以及候选线程,获取线程资源分配的可行解集合,作为可行的任务调度方案;方法结合任务执行的顺序以及可调度的线程进行调度的方式,相对与单一限制条件下任务调度方式,可靠性更高。此外,方法在基于线程资源分配得到可行解的基础上,采用遗传编码的方式,将可行解编码形成染色体;然后通过求解适应度最小的染色体,得到任务调度方案的最优解;在复杂的任务调度的场景下,通过适用度对可行解进一步优化,得到最优解,基于最优解的目标任务执行序列以及目标线程运行序列,得到性能更优的多线程任务调度方案,有效地避免了任务积压或任务执行失败的情况,进一步提高了任务调度以及线程分配结果的可靠性。
附图说明
图1为一个实施例中实时系统任务调度方法的应用环境图;
图2为一个实施例中实时系统任务调度方法的流程示意图;
图3为一个实施例中求解得到可行解集合的子步骤流程示意图;
图4为一个实施例中种群迭代的流程示意图;
图5为一个实施例中筛选最优染色体过程中染色体变化的曲线示意图;
图6为一个实施例中实时系统任务调度装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在传统技术方案中,针对实时系统任务调度方法进行了一定程度的优化或改进。例如,添加合适的时间冗余的方法,以减小关键任务的失败率。又例如,提出基于Spark集群的多任务自适应的实时调度方法,一定程度上解决了现有调度机制存在任务分配不均、任务完成时间易超时等问题。又例如,利用实时系统处理器自身的中断机制,实现了一种应用于强实时系统的可抢占式任务调度方法,适用于资源紧张且对时间非常敏感的嵌入式系统。又例如,对模块化系统任务调度方案进行了研究,使用改进的遗传算法对预测模型进行求解,结合模块化任务特点优化多层编码方式,遗传算法使染色体更加完整地表达任务的信息。
以上实时系统任务调度方法,对提高实时任务执行率、保证重要任务的完成率、合理分配系统资源有一定作用,但其调度策略设置基准大都是以任务最晚执行时间作为任务优先级为基准,并没有对任务本身的重要性进行合理评估,且目前算法任务调度计算过程较为复杂。因此,针对实时系统,本申请提出一种以消耗时间和贡献值为最优化目标的实时任务调度方案。基于多层编码遗传算法的任务调度模型,能在兼顾消耗时间尽可能少和贡献值最可能大的情况下解决实时系统中的任务调度问题;方案可以为航空装备实时系统、电力保护与调度实时系统、武器装备实时系统中的实时任务调度提供有效支持。
本申请实施例提供的实时系统任务调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。实施例中,服务器104接收终端102发送的任务执行指令,响应于这一指令,服务器104对指令内容进行解析,获取并确定了待执行任务,以及当前可以进行调度的候选线程。服务器104首先需要根据待执行的任务和候选线程,构建得到若干线程资源分配的可行解,组合得到可行解集合。在得到了可行解集合之后,服务器结合候选线程,对可行解中线程资源分配的信息序列进行仿遗传学编码,得到若干染色体,并整合形成染色体群。进一步的,服务器104通过计算染色体群中每一个的适应度值,并选择适应度值最小的染色体,作为最优个体。服务器104在通过遗传学的相关处理之后得到的最优染色体,其所对应的线程资源分配方式,即为线程资源调度的最优解,服务器对最优染色体进行解码,从中获取目标任务执行序列以及目标线程运行序列。最后,基于所获得的序列内容,服务器104启用相应的候选线程,并通过启用的线程执行前述的待执行任务。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种实时系统任务调度方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S202,获取待执行任务、以及候选线程。
其中,待执行任务可以是指响应于终端中的任务执行指令,从指令内容中所获取的任务,并且,所得到任务需要通过调度一定的线程资源才能完成。候选线程可以是指任务的执行单元;服务器在并发执行程序的过程中进行资源的分配和管理的基本单位是进程,而实施例中的候选线程,则是指单个进程中可以进行调度的实体单元。
示例性的,实施例中通过终端的人机交互界面,获取得到了操作用户的任务处理指令,终端通过网络通信协议以及数据链路,将这一指令传输至服务器。服务器在接收这一指令之后,对指令内容进行解析,提取得到所要执行的任务,即待执行任务。同时,服务器还可以对可以进行调用的线程资源进行实时获取,得到执行前述待执行任务时进行调度或分配的线程资源,即为候选线程。
S204,根据待执行任务以及候选线程,获取线程资源分配的可行解集合。
其中,可行解集合由若干个可行解组合形成,单个的可行解用于描述在任务执行过程中,线程资源的具体分配方案。单个的线程资源分配方案描述了待执行任务在执行过程中,任务步骤或任务环节可以占用的线程,并且可以通过序号的方式,对占用的线程进行顺序描述。
示例性的,实施例中可以通过模型运算求解的方式,或者通过穷举法的方式,在待执行任务以及候选线程所构成的限制条件、或者在约束条件所形成的目标域内进行线程资源分配,并形成可行的线程资源调度方案,用于完成待执行任务。形成的线程资源调度方案作为线程资源分配的可行解,一个可行解对应一种线程资源调度方案,并将所有的可行解进行汇集,形成可行解的集合。
S206,结合候选线程,对可行解集合中的可行解进行仿遗传学编码,得到染色体群。
其中,实施例中采用的遗传算法(Genetic Algorithm,GA)模型,是一种随机全局搜索优化的模型,通过模拟自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象,从任一初始种群(Population)出发,通过随机选择、交叉和变异操作,产生一群更适合环境的个体。实施例中仿遗传学编码的过程,是指将可行解中所携带的线程资源调度方案内容,通过编码的方式形成与遗传学中染色体个体相类似的信息载体。需要说明的是,说明书后文中所涉及的染色体或染色体个体均是指通过遗传学编码之后形成的,与遗传学中的染色体相类似的信息载体,并非遗传学中真实的染色体。
示例性的,实施例中基于所得到的可行解集合,对集合中的每个可行解所对应的线程资源调度方案内容进行提取。例如,实施例中可以从可行解中所获取的资源调度方案内容,包括单个任务的具体执行步骤,以及每个步骤被执行时所占用的线程,并且方案内容可以采用字符串或者数字串的方式进行描述。基于实施例中所采用多层编码的方式,对可行解的线程资源调度方案内容进行遗传编码,以得到最初始的染色体群。实施例中基于所得到初始的染色体群,可以通过后续的遗传学数据处理的方法进行处理,以得到更多的染色体群或者染色体数量,并在更大的范围内进行筛选,以得到更优秀的染色体个体。
S208,从染色体群中提取得到适应度最小的染色体。
其中,适应度(fitness)是指个体在种群生存的优势程度度量,适应度使用适应度函数(fitness function)来进行计算。适应度函数也可以称之为评价函数,主要是通过个体特征从而判断个体的适应度。
示例性的,实施例中可以基于任务的完成时间、任务的完成有限度、线程占用的时间等等作为适应度函数的自变量。由于实时系统任务调度方法的直接目的是能够在最短的时间内以及最少的资源占用的情况下,完成待执行任务。因此在选用前述的自变量进行适应度值的运算,所得到的结果中,适应度值更小的染色体个体更能够贴近任务调度方法的直接目的。因此,实施例中可以通过模拟遗传学的染色体种群的迭代方法,对染色体群中的染色体个体进行迭代变换。对迭代变换后的染色体群中的染色体,通过预先构建的适应度函数逐一计算得到每一个染色体的适应度值,并从所有的染色体中筛选得到适应度值最小的染色体最为最优个体。可以理解的是,最优个体(染色体)所对应的可行解即为最优解。
S210,解码适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列。
其中,目标任务执行序列是指适应度最小的染色体所携带的线程资源调度方案中,任务的具体执行顺序。目标线程运行序列是指适应度最小的染色体所携带的线程资源调度方案中,在执行任务过程中针对线程的具体调用顺序。
示例性的,实施例中在通过适应度值对染色体群进行筛选,得到了最优个体,即适应度最小的染色体。最优个体所对应的可行解,即为实时系统任务调度的最优解。实施例中的染色体是通过仿遗传学编码所得到的;因此,为了获得最优个体所表征的最优解,实施例需要对最优个体进行解码或者反编码处理,以获取最优解。最优解所描述的线程资源调度方案,即为完成所有待执行任务的最优线程资源调度方案,而方案中的任务执行序列,即为目标任务执行序列;方案为每个任务执行时所分配的线程形成的线程序列,即为目标线程运行序列。进一步的,实施例中,可行解可以采用字符串或者整数串的数据形式对任务执行序列以及线程运行序列;因此,实施例根据最优解进一步得到的目标任务执行序列以及目标线程运行序列,同样可以采用字符串或者整数串的数据形式;根据字符串中的特定字符确定所指代的任务或线程;或根据具体的数字序号确定所指代的任务或线程。
S212,根据目标任务执行序列以及目标线程运行序列,执行待执行任务。
示例性的,实施例在得到具体的任务执行序列以及线程运行序列之后,根据任务执行序列,将待执行的任务中的任务步骤进行拆分以及编排,并进一步根据每个任务步骤所占用的线程进行分配。最后实施例根据每个任务的具体任务步骤,调用该步骤对应占用的线程完成实时系统中的所有待执行任务。
实施例中的实时系统任务调度方法,首先基于待执行任务以及候选线程,获取线程资源分配的可行解集合,作为可行的任务调度方案;方法结合任务执行的顺序以及可调度的线程进行调度的方式,相对与单一限制条件下任务调度方式,可靠性更高。此外,方法在基于线程资源分配得到可行解的基础上,采用遗传编码的方式,将可行解编码形成染色体;然后通过求解适应度最小的染色体,得到任务调度方案的最优解;在复杂的任务调度的场景下,通过适用度对可行解进一步优化,得到最优解,基于最优解的目标任务执行序列以及目标线程运行序列,得到性能更优的多线程任务调度方案,有效地避免了任务积压或任务执行失败的情况,进一步提高了任务调度以及线程分配结果的可靠性。
在一个实施例中,如图3所示,方法中的步骤获根据待执行任务以及候选线程,获取线程资源分配的可行解集合,可以包括:
S302,根据待执行任务以及候选线程,构建得到线程资源分配模型。
由于实施例中的实时任务调度,是可以根据任务的优先级、执行期截止时间等指标合理的分配计算机线程资源,从而达到合理利用实时系统资源、提高任务执行效率、减少任务出错率的目的。
示例性的,实施例中的实时任务,即待执行任务利用数学模型,即构建一个线程资源分配模型,描述为有n个等待执行的额任务要在m个线程上执行;这一模型可以包括:
(1)线程集M={m1,m2,…,m3},mj表示第j个线程,其中j=1,2,…,m。
(2)任务集P={p1,p2,…,pm},pi表示第i个实时任务,其中i=1,2,…,n。
(3)执行序列集OP={op1,op2,…,opn},opi={opi1,opi2,…,opik}表示实时任务pi的执行序列。
(4)可选线程集OPM={opi1,opi2,…,opik},opij={opij1,opij2,…,opijk}表示实时任务pi的执行步骤j可以选择的线程。
更为具体的,实施例中的线程资源分配模型还可以设置一些逻辑上的限制条件,如每个任务在执行过程中利用不同线程的次数不多于一次,每个任务需按照一定的顺序进行执行。
S304,获取待执行任务的执行时间、以及任务贡献值。
其中,任务贡献值可以是指任务的重要性,这重要性的划分标准可以是基于预设的优先度,对任务的重要性进行划分,例如,待执行任务的优先度越高,则对应的重要性也越高,其产生的贡献值也就越高。
示例性的,实施例中所采用的线程资源分配模型,可以是以消耗时间和贡献值为最优化目标的实时任务调度模型。基于多层编码遗传算法的任务调度模型,能在兼顾消耗时间尽可能少和贡献值最可能大的情况下解决实时系统中的任务调度问题。
S306,根据执行时间和任务贡献值,生成线程资源分配模型的约束条件。
示例性的,实施例中在构建得到了线程资源分配模型之后,可以基于待执行任务的总执行时间以及任务的总贡献值进一步形成模型的约束条件。具体的,实施例中单个任务以及单个任务所能够产生的贡献值如下:
(1)任务在线程上执行的时间矩阵T,tij∈T,表示第i个实时任务pi在第j个线程上的执行时间。
(2)任务的贡献(重要性)矩阵C,cij∈T,表示第i个实时任务pi在第j个线程上的贡献数值。
将实施例中的所有待执行任务的执行时间进行汇总,并且将所有待执行认为在所有线程上所能产生的贡献数值进行汇总,得到任务的总执行时间以及任务的总贡献值,并形成线程资源分配模型的约束条件。
S308,对在约束条件下的线程资源分配模型进行求解,得到可行解集合。
示例性的,在实施例中明确了单个任务执行时间以及单个任务在线程上的贡献值,作为线程资源分配模型的决策变量;并且通过汇总得到任务的总执行时间以及任务的总贡献值,作为约束条件。将约束条件进行数轴化表现,可以通过约束条件所形成的模型解的可行域,落入至可行域中的点,即为实施例中模型的可行解。
该实施例中所提供的方法步骤,首先基于待执行任务以及候选线程,构建了线程资源分配模型;以任务以及线程资源作为模型输出,通过模型求解得到可行的任务调度方案;结合任务执行的顺序以及可调度的线程进行调度的方式,相对与单一限制条件下任务调度方式,可靠性更高;并且,通过模型进行调度规划方式,能够应对任务量更大的负载场景,响应速度更快。
在一个实施例中,方法中结合候选线程,对可行解集合中的可行解进行仿遗传学编码,得到染色体群的过程,可以包括如下步骤:
步骤一,获取可行解中的任务执行顺序。
步骤二,从任务执行顺序中,提取单个任务的预设执行步骤。
步骤三,根据任务执行顺序、预设执行步骤,生成候选线程的线程启用顺序。
步骤四,将任务执行顺序中的任务序号、以及线程启用顺序的线程序号,组合形成字符串。
步骤五,根据字符串进行仿遗传学编码,根据编码后得到染色体构建得到染色体群。
示例性的,实施例中染色体的编码方式可以选择整数编码。每个染色体个体表示待优化问题的一个可行解,即一个可行解中包含了任务的执行顺序。若等待执行的总任务数为n,任务ni的执行步骤共为mj时,则一个可行解在进行编码后,可以表示为长度为的整数串。其中,染色体的前半部分表示所有实时任务在不同线程上的执行顺序,后半部分表示任务每个步骤的执行线程的序号。基于整数编码的技术原理,将所有的可行解均进行编码之后所得到的染色体个体进行整合,以得到染色体群。
在一个实施例中,方法在从染色体群中提取得到适应度最小的染色体之前,可以包括如下步骤:
步骤一,获取染色体群中的染色体。
步骤二,解码染色体,得到染色体中的候选任务序列。
步骤三,计算完成候选任务序列中所有候选任务的完成时间,以及候选任务完成后的剩余贡献值。
步骤四,获取适应度函数的时间权重以及贡献值权重
步骤五,计算完成时间与时间权重的第一乘积,以及剩余贡献值与贡献值权重的第二乘积。
步骤六,对第一乘积与第二乘积求和,得到染色体所对应的适应度。
示例性的,实施例中染色体的适应度值为全部实时任务的完成时间和总任务贡献值的加权和;进而,实施例中的适应度函数的表达式为:
其中,T为全部等待执行的实时任务的完成时间,该时间越短越好,表示当前剩余任务的贡献值,由于总任务贡献值是一定的,则当前剩余任务贡献值越小,意味着越多重要的任务已被执行,因此该值也是越小越好。ω1×T即为第一乘积,即为第二乘积。并且,ω1和ω2分别为两个指标值的权重系数。因此fitness(i)值越小,则该染色体性能越好。
在一个实施例中,方法中从染色体群中提取得到适应度最小的染色体的过程,可以包括以下步骤:
步骤一,获取染色体群中的染色体所对应的适应度。
步骤二,对适应度进行倒数运算,得到染色体的选择概率。
步骤三,根据选择概率对染色体群进行筛选。
步骤四,将筛选后的染色体群中染色体进行染色体交叉处理。
步骤五,选取交叉处理后的染色体进行变异处理,得到变异个体。
步骤六,从变异个体中筛选得到适应度最小的染色体。
示例性的,实施例中基于多层编码遗传算法对实施例中所构建的资源分配模型进行求解的过程,首先需要初始化种群构成的初始解集合。然后,计算模块负责计算染色体的适应度值。进一步的,采用轮盘赌法选择优秀个体。再进一步的,采用整数交叉法得到性能佳的染色体个体。最后,采用整数变异法得到性能佳的优秀染色体个体。
更为具体的,首先,实施例采用整数编码的方式,用染色体个体表示待优化问题的一个可行解;其中,染色体的前半部分表示所有实时任务在不同线程上的执行顺序,后半部分表示任务每个步骤的执行线程的序号。
其次,根据实施例中所提供的适应度函数,计算全部实时任务的完成时间和总任务贡献值的加权和,得到每个染色体的适应度值。然后,实施例进行染色体选择操作,染色体的选择操作可以采用轮盘赌法选择适应度较好的染色体,个体选择概率pi为:
其中,Fitness(i)=1/fitness(i);pi(i)表示染色体i在每次选择中被选中的概率。
在这之后,实施例可以进行染色体交叉操作。染色体的交叉操作获得新染色体,从而推动整个种群向前进化,实施例中的交叉操作可以采用整数交叉法。进而,方法中将筛选后的染色体群中染色体进行染色体交叉处理的过程,可以包括以下步骤:
步骤一,从筛选后的染色体群中提取待交叉的染色体。
步骤二,获取待交叉的染色体中预先设置的交叉点位。
步骤三,根据交叉点位,将待交叉的染色体中的信息序列进行替换,得到交叉处理后的染色体。
示例性的,实施例中首先从种群中随机选取两个染色体,并取出每个染色体的前位,然后随机选择交叉位置进行交叉。例如,若设交叉位置为5,只对个体前位进行交叉,则有:
个体1:[33212211 21123312];个体2:[22311323 11232112]
在交叉后为:
个体1:[22311211 21123312];个体2:[33212323 11232112]
交叉后会存在某些实时任务的执行步骤多了一次;例如,个体1中的任务2在执行步骤中多了一次,而任务3执行步骤少了一次。为此需进行调整,调整策略为把任务执行的多于步骤填补为任务执行的缺失步骤,并按照交叉前个体的执行线程来调整个体位到/>位的执行线程;所得到的调整后的个体图下所示:
交叉后个体1:[22311211 21123312]调整为:[22331211 21123112]
在完成染色体交叉操作之后,实施例将进行最后的变异操作。种群通过变异操作获得新的个体,从而推动种群质量不断优化。种群算子首先从种群中随机选取变异个体,然后选取变异位置POS1和POS2,最后把个体中POS1和POS2位的实时任务执行步骤以及对应的执行线程编号互换,例如,对交叉后个体1调整后的交叉位置s设为3和5:
调整后的交叉后个体1:[22331211 21123112]交叉变异后:[22133211 21123112]
实施例中,基于多层编码遗传算法的实时任务调度模型,能在兼顾消耗时间尽可能少和贡献值最可能大的情况下解决实时系统中的任务调度问题,该方法流程清晰,模型简洁易懂,调度效果优良且调度速度快,算法对不同线程复杂程度的实时系统均有较好的调度效果。
结合说明书附图4,以装备实时调配系统中的实时任务调度的场景为例,对本申请中所提供的实时系统任务调度方法进行完整的描述,如下:
步骤一,首先,在装备实时调配系统中,实时任务调度问题利用数学模型可以描述为有n个等待执行的额任务要在m个线程上执行,基于这一描述,可以构建得到线程资源分配模型。
步骤二,然后,实施例需要基于多层编码遗传算法,对线程资源分配模型的目标问题进行优化求解。求解需要初始化种群构成的初始解集合;实施例中可以将线程资源分配模型的可行解,通过整数编码得到初始解集合中的染色体个体。整数编码后所的得到染色体,其前半部分表示所有实时任务在不同线程上的执行顺序,后半部分表示任务每个步骤的执行线程的序号。
步骤三,通过染色体中全部实时任务的完成时间和总任务贡献值的加权和,确定每一个染色体的适应度值。适应度值越小,则说明该染色体的性能越好。
步骤四,通过轮盘赌法选择适应度较好的染色体。根据染色体的适应度值,计算得到染色体在每次选择中被选中的概率。
步骤五,从选中的染色体所构成的种群中,随机选取两个染色体,并取出每个染色体的前若干数据位,随机选择交叉位置进行交叉。
步骤六,从交叉处理后的染色体种群中,随机选取变异个体,然后选取变异位置POS1和POS2,最后把个体中POS1和POS2位的实时任务执行步骤以及对应的执行线程编号互换。
步骤七,最后从变异个体多构成的种群中,选取适应度最小的染色体最为最优个体,并对最优个体进行解码得到线程资源分配模型的最优解,最优解所描述的线程资源调度方案,即为完成所有待执行任务的最优线程资源调度方案。
为了验证方法的有效性,实施例采用多层编码遗传算法解决实时系统的任务调度问题的场景中,共有6个实时任务待执行,要在10个线程上运行,每个任务要经过6个步骤执行,每个执行步骤可选择的线程号如表1所示:
表1
步骤1 | 步骤2 | 步骤3 | 步骤4 | 步骤5 | 步骤6 | |
任务1 | 5 | 6 | 4 | [2,9] | [3,7] | 5 |
任务2 | 4 | [2,9] | 8 | [6,7] | 5 | [1,10] |
任务3 | 3 | [6,8] | 7 | [2,1] | [4,10] | 5 |
任务4 | 5 | 2 | [4,7] | 10 | [2,5] | [3,6] |
任务5 | [4,5] | 5 | [9,10] | 6 | 2 | [3,8] |
任务6 | [2,6] | 4 | [6,9] | 7 | 8 | [3,9] |
在表的单元格中记录了每个任务的每一个步骤在执行时可以占用线程的线程号。
对应的,实施例中每个步骤的执行时间如表2所示(单位为秒):
表2
实施例中在通过多层编码遗传算法进行求解的过程中,将染色体的种群数目设置为40,适应度函数的时间权重以及贡献值权重,即ω1和ω2均取0.5,种群的最大迭代次数设置为50,交叉概率0.85,变异概率0.65.算法搜索到全部实时任务的完成的最短时间为48s。实施例中,最优解的求解过程的如图5所示(图中横坐标表示时间,该时间为搜索得到最优解的时间,单位为秒;纵坐标同样表示时间,该时间为完成所有任务的时间,单位为秒);根据图5可以清楚地得知,实施例在5秒左右从染色体种群中筛选得到了最优解(最优解为48秒),同样在5秒左右,算法模型中的种群均值也已经趋于稳定。根据数据统计能够更为清楚地证明,实施例方法能够有效地提高装备实时调配系统中的任务调度问题方面的效率以及可靠性。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的实时系统任务调度方法的实时系统任务调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个实时系统任务调度装置实施例中的具体限定可以参见上文中对于实时系统任务调度方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种实时系统任务调度装置600,包括:任务获取模块601、资源预分配模块602、遗传编码模块603、个体筛选模块604、遗传解码模块605和任务执行模块606,其中:
任务获取模块601,获取待执行任务、以及候选线程。
资源预分配模块602,根据待执行任务以及候选线程,获取线程资源分配的可行解集合。
遗传编码模块603,结合候选线程,对可行解集合中的可行解进行仿遗传学编码,得到染色体群。
个体筛选模块604,从染色体群中提取得到适应度最小的染色体。
遗传解码模块605,解码适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列。
任务执行模块606,根据目标任务执行序列以及目标线程运行序列,执行待执行任务。
具体地,实施例中的实时系统任务调度装置600首先基于待执行任务以及候选线程,获取线程资源分配的可行解集合,作为可行的任务调度方案;装置结合任务执行的顺序以及可调度的线程进行调度的方式,相对与单一限制条件下任务调度方式,可靠性更高。装置可以在基于线程资源分配得到可行解的基础上,采用遗传编码的模型,将可行解编码形成染色体;然后通过求解适应度最小的染色体,得到任务调度方案的最优解。在复杂的任务调度的场景下,通过适用度对可行解进一步优化,得到最优解,基于最优解的目标任务执行序列以及目标线程运行序列,得到性能更优的多线程任务调度方案,有效地避免了任务积压或任务执行失败的情况,进一步提高了任务调度以及线程分配结果的可靠性。
在一个实施例中,装置中的资源预分配模块,还可以根据待执行任务以及候选线程,构建得到线程资源分配模型;获取待执行任务的执行时间、以及任务贡献值;根据执行时间和任务贡献值,生成线程资源分配模型的约束条件;对在约束条件下的线程资源分配模型进行求解,得到可行解集合。
在一个实施例中,装置中的遗传编码模块,还可以获取染色体群中的染色体;解码染色体,得到染色体中的候选任务序列;计算完成候选任务序列中所有候选任务的完成时间,以及候选任务完成后的剩余贡献值;获取适应度函数的时间权重以及贡献值权重;计算完成时间与时间权重的第一乘积,以及剩余贡献值与贡献值权重的第二乘积;对第一乘积与第二乘积求和,得到染色体所对应的适应度。
在一个实施例中,装置中的个体筛选模块,还可以获取染色体群中的染色体所对应的适应度;对适应度进行倒数运算,得到染色体的选择概率;根据选择概率对染色体群进行筛选;将筛选后的染色体群中染色体进行染色体交叉处理;选取交叉处理后的染色体进行变异处理,得到变异个体;从变异个体中筛选得到适应度最小的染色体。
在一个实施例中,装置中的个体筛选模块,还可以从筛选后的染色体群中提取待交叉的染色体;获取待交叉的染色体中预先设置的交叉点位;根据交叉点位,将待交叉的染色体中的信息序列进行替换,得到交叉处理后的染色体。
在一个实施例中,装置中的遗传编码模块,还可以获取可行解中的任务执行顺序;从任务执行顺序中,提取单个任务的预设执行步骤;根据任务执行顺序、预设执行步骤,生成候选线程的线程启用顺序;将任务执行顺序中的任务序号、以及线程启用顺序的线程序号,组合形成字符串;根据字符串进行仿遗传学编码,根据编码后得到染色体构建得到染色体群。
上述实时系统任务调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数基于多层遗传编码的线程资源分配模型,以及该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种实时系统任务调度方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一个非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种实时系统任务调度方法,其特征在于,所述方法包括:
获取待执行任务、以及候选线程;
根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
从所述染色体群中提取得到适应度最小的染色体;
解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述获根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合,包括:
根据所述待执行任务以及所述候选线程,构建得到线程资源分配模型;
获取所述待执行任务的执行时间、以及任务贡献值;
根据所述执行时间和所述任务贡献值,生成所述线程资源分配模型的约束条件;
对在所述约束条件下的线程资源分配模型进行求解,得到所述可行解集合。
3.根据权利要求1所述的方法,其特征在于,在从所述染色体群中提取得到适应度最小的染色体之前,还包括:
获取所述染色体群中的染色体;
解码所述染色体,得到染色体中的候选任务序列;
计算完成所述候选任务序列中所有候选任务的完成时间,以及候选任务完成后的剩余贡献值;
获取适应度函数的时间权重以及贡献值权重;
计算所述完成时间与所述时间权重的第一乘积,以及剩余贡献值与贡献值权重的第二乘积;
对所述第一乘积与所述第二乘积求和,得到染色体所对应的适应度。
4.根据权利要求1所述的方法,其特征在于,所述从所述染色体群中提取得到适应度最小的染色体,包括:
获取所述染色体群中的染色体所对应的适应度;
对所述适应度进行倒数运算,得到所述染色体的选择概率;
根据所述选择概率对所述染色体群进行筛选;
将筛选后的染色体群中染色体进行染色体交叉处理;
选取交叉处理后的染色体进行变异处理,得到变异个体;
从所述变异个体中筛选得到适应度最小的染色体。
5.根据权利要求4所述的方法,其特征在于,所述将筛选后的染色体群中染色体进行染色体交叉处理,包括:
从筛选后的染色体群中提取待交叉的染色体;
获取待交叉的染色体中预先设置的交叉点位;
根据所述交叉点位,将待交叉的染色体中的信息序列进行替换,得到交叉处理后的染色体。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群,包括:
获取所述可行解中的任务执行顺序;
从所述任务执行顺序中,提取单个任务的预设执行步骤;
根据所述任务执行顺序、所述预设执行步骤,生成所述候选线程的线程启用顺序;
将所述任务执行顺序中的任务序号、以及所述线程启用顺序的线程序号,组合形成字符串;
根据所述字符串进行仿遗传学编码,根据编码后得到染色体构建得到染色体群。
7.一种实时系统任务调度装置,其特征在于,所述装置包括:
任务获取模块,获取待执行任务、以及候选线程;
资源预分配模块,根据所述待执行任务以及所述候选线程,获取线程资源分配的可行解集合;
遗传编码模块,结合所述候选线程,对所述可行解集合中的可行解进行仿遗传学编码,得到染色体群;
个体筛选模块,从所述染色体群中提取得到适应度最小的染色体;
遗传解码模块,解码所述适应度最小的染色体,获取目标任务执行序列以及目标线程运行序列;
任务执行模块,根据所述目标任务执行序列以及所述目标线程运行序列,执行所述待执行任务。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310446398.0A CN116541165A (zh) | 2023-04-23 | 2023-04-23 | 实时系统任务调度方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310446398.0A CN116541165A (zh) | 2023-04-23 | 2023-04-23 | 实时系统任务调度方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116541165A true CN116541165A (zh) | 2023-08-04 |
Family
ID=87446191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310446398.0A Pending CN116541165A (zh) | 2023-04-23 | 2023-04-23 | 实时系统任务调度方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541165A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880663A (zh) * | 2018-07-20 | 2018-11-23 | 大连大学 | 基于改进遗传算法的天地一体化网络资源分配方法 |
CN111831421A (zh) * | 2020-07-23 | 2020-10-27 | 石家庄坚泰科技有限公司 | 任务分配方法及终端设备 |
CN114399228A (zh) * | 2022-02-09 | 2022-04-26 | 胜斗士(上海)科技技术发展有限公司 | 任务调度方法及装置、电子设备和介质 |
CN114691370A (zh) * | 2022-04-01 | 2022-07-01 | 北京沃东天骏信息技术有限公司 | 一种基于遗传算法的任务分配方法和装置 |
WO2022252456A1 (zh) * | 2021-06-01 | 2022-12-08 | 苏州浪潮智能科技有限公司 | 一种任务调度方法、装置、电子设备及可读存储介质 |
CN115983559A (zh) * | 2022-12-05 | 2023-04-18 | 深圳市大数据研究院 | 项目资源调度方法、装置、设备及存储介质 |
-
2023
- 2023-04-23 CN CN202310446398.0A patent/CN116541165A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880663A (zh) * | 2018-07-20 | 2018-11-23 | 大连大学 | 基于改进遗传算法的天地一体化网络资源分配方法 |
CN111831421A (zh) * | 2020-07-23 | 2020-10-27 | 石家庄坚泰科技有限公司 | 任务分配方法及终端设备 |
WO2022252456A1 (zh) * | 2021-06-01 | 2022-12-08 | 苏州浪潮智能科技有限公司 | 一种任务调度方法、装置、电子设备及可读存储介质 |
CN114399228A (zh) * | 2022-02-09 | 2022-04-26 | 胜斗士(上海)科技技术发展有限公司 | 任务调度方法及装置、电子设备和介质 |
CN114691370A (zh) * | 2022-04-01 | 2022-07-01 | 北京沃东天骏信息技术有限公司 | 一种基于遗传算法的任务分配方法和装置 |
CN115983559A (zh) * | 2022-12-05 | 2023-04-18 | 深圳市大数据研究院 | 项目资源调度方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084377B (zh) | 用于构建决策树的方法和装置 | |
CN107332902A (zh) | 在线客服系统的用户请求分配方法、装置和计算设备 | |
CN112508118B (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
CN102624865A (zh) | 集群负载预测方法及分布式集群管理系统 | |
CN106202092A (zh) | 数据处理的方法及系统 | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
Wang et al. | A Task Scheduling Strategy in Edge‐Cloud Collaborative Scenario Based on Deadline | |
CN114461384A (zh) | 任务执行方法、装置、计算机设备和存储介质 | |
CN106708875B (zh) | 一种特征筛选方法及系统 | |
CN111831421B (zh) | 任务分配方法及终端设备 | |
CN117472511A (zh) | 容器资源监控方法、装置、计算机设备和存储介质 | |
CN112434872A (zh) | 酒店产量预测方法、系统、设备及存储介质 | |
CN117035207A (zh) | 运钞车路径规划方法、路径预测模型的训练方法及装置 | |
CN115528750B (zh) | 一种面向电网安全稳定的数据模型混合驱动机组组合方法 | |
CN116541165A (zh) | 实时系统任务调度方法、装置、计算机设备以及存储介质 | |
CN115564152A (zh) | 基于stirpat模型的碳排放量预测方法及装置 | |
CN115269176A (zh) | 任务分配方法、装置、计算机设备、存储介质和产品 | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测系统、方法及装置 | |
CN113947503A (zh) | 基于区块链和新能源消纳调度的电能生产单位推荐方法 | |
CN115982634A (zh) | 应用程序分类方法、装置、电子设备及计算机程序产品 | |
CN110807599A (zh) | 电化学储能方案的决策方法、装置、服务器和存储介质 | |
Chen et al. | OTAS: An Elastic Transformer Serving System via Token Adaptation | |
CN117556095B (zh) | 图数据分割方法、装置、计算机设备和存储介质 | |
CN116451960B (zh) | 基于电力调度的碳排放权配额调度方法、装置和设备 | |
CN116681454B (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 |