CN116880979A - 任务事件调度方法、装置、计算机设备以及存储介质 - Google Patents
任务事件调度方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN116880979A CN116880979A CN202310840878.5A CN202310840878A CN116880979A CN 116880979 A CN116880979 A CN 116880979A CN 202310840878 A CN202310840878 A CN 202310840878A CN 116880979 A CN116880979 A CN 116880979A
- Authority
- CN
- China
- Prior art keywords
- event
- node
- executed
- functional unit
- task
- 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 79
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000003379 elimination reaction Methods 0.000 claims abstract description 36
- 230000008030 elimination Effects 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 14
- 238000010276 construction Methods 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 7
- 230000009469 supplementation Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 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
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/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种任务事件调度方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:获取待执行任务,待执行任务中包括待执行事件、以及时间约束;获取执行节点执行待执行事件的预计执行时间、执行概率、以及预计资源开销;若预计执行时间满足时间约束,则根据执行概率、以及预计资源开销,构建候选事件序列;根据候选事件序列生成标识比特位,并将标识比特位进行组合,得到二进制字符串;根据二进制字符串对候选事件序列进行去冗余处理,得到目标事件序列;根据目标事件序列调用执行节点,执行待执行事件。方案有效地避免漏算事件序列而导致产生较大误差,提高了待执行任务或事件分配调度的准确性。
Description
技术领域
本申请涉及集成系统技术领域,特别是涉及一种任务事件调度方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在面向实时系统的高度综合机器中,通常采用异构功能单元类型来实现高性能和低成本的设计。在给定程序的设计阶段,确定程序中每个操作使用的功能单元类型非常关键,这样才能在满足运行时间约束的同时把总成本降到最低。传统技术方案中对于拓扑结构为路径或者树结构的应用程序,已经提出了相应的方法能够实现较低总成本的任务事件调度或分配。
然而,在传统技术方案中,通过引入类似经典的动态规划问题的算法思想,并采用了去冗余算法,对动态规划问题求解过程中构建任务事件的序列时,可能存在漏算的情况。由于漏算情况的存在,最终所形成的调度方案或分配方式,将会存在较大的误差。
发明内容
基于此,有必要针对上述技术问题,提供一种准确率更高的任务事件调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种任务事件调度方法。所述方法包括:
获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
在其中一个实施例中,所述根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务包括:
获取预设的步长约束;
根据所述步长约束,确定功能单元分配方案中执行节点的数量约束;
根据预设的内存容量,构建满足所述数量约束的多个候选节点序列;
将所述多个候选节点序列进行整合,得到完整节点序列;
根据所述完整节点序列、以及所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
在其中一个实施例中,根据预设的内存容量,构建满足所述数量约束的多个候选节点序列包括:
获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,并生成事件记录;
根据所述事件记录中的预计执行时间,对所述事件记录进行时间升序排列,得到事件记录序列;
去除所述事件记录序列中的冗余记录;
根据数量约束以及预设的内存容量,将去除冗余记录后的事件记录序列中的事件记录进行组合,形成多个候选子序列。
在其中一个实施例中,所述根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串包括:
获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,生成所述执行节点对应的事件标识;
根据事件信息的数量以及功能单元类型,确定二进制字符串的比特位数量;
根据所述事件标识形成标识比特位;
根据所述标识比特位、以及所述比特位数量,构建得到二进制字符串。
在其中一个实施例中,所述根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案包括:
将候选时间序列集合对应的二进制字符串进行或运算,得到概率补充后的二进制字符串;
根据所述概率补充后的二进制字符串中各个比特位表征的事件序列,生成目标事件序列集合;
根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案,所述单元类型序列为执行节点对应的功能单元类型组合形成。
在其中一个实施例中,在根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案之前,还包括:
获取待执行任务中若干项待执行节点子任务对应的功能信息;
根据所述功能信息,对待执行节点子任务的若干个功能单元类型进行组合,得到功能单元类型序列。
第二方面,本申请还提供了一种任务事件调度装置。所述装置包括:
任务获取模块,用于获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
数据整理模块,用于获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
序列构建模块,用于根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
冗余处理模块,用于根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
事件执行模块,用于根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
本申请提供了任务事件调度方法、装置、计算机设备、存储介质和计算机程序产品;其中,方法基于待执行任务中细分的待执行事件,以及待执行事件的时间约束,对集成系统中可用的节点进行调用,并计算得到节点的预计执行时间、执行概率、以及预计资源开销;方法在确定时间约束的情况下,进一步确定该时间约束下的各种分配方式对应的执行概率、以及预计资源开销,并形成对应的候选事件序列;进一步地,方案运用了状态压缩的方法来标记事件序列,即方法可以通过二进制中每一个比特位唯一确定一个事件序列;方法通过二进制的比特位进行去冗余处理,替代了传统技术方案中对重复的时间序列直接进行删除的处理方式,有效地避免漏算事件序列而导致产生较大误差,提高了待执行任务或事件分配调度的准确性。
附图说明
图1为一个实施例中任务事件调度方法的应用环境图;
图2为一个实施例中任务事件调度方法的流程示意图;
图3为一个实施例中构建候选事件序列子步骤的流程示意图;
图4为另一个实施例中任务事件调度方法的流程示意图;
图5为一个实施例中任务事件调度装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的任务事件调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。在该实施环境中,服务器104可以接收由终端102所发起的任务执行指令,并根据该任务执行指令,确定待执行任务。服务器104对待执行任务进行相应的分析处理,得到待执行任务中所包含的待执行事件、以及整个待执行任务对应的时间约束。之后,服务器104将调取所有可用节点的节点信息,这一节点信息主要包括节点执行待执行事件的预计执行时间、执行这一事件的概率、以及执行完事件所需的资源开销。在获取前述的节点信息之后,实施例首先根据时间约束以及节点的预计执行时间进行比较筛选,从而得到节点编排信息;并进一步地,将节点编排信息中存留节点的执行概率以及执行完事件所需的资源开销进行组合,形成候选事件序列。然后,服务器104将会根据所有候选事件序列,构建一个二进制字符串,并通过二进制字符串中的每一个比特位,描述对应的候选事件序列。在得到用于描述候选时间序列的二进制字符串之后,服务器104将根据所得到二进制字符串对所有的候选事件序列进行去冗余处理,得到去除冗余的事件序列后的目标事件序列。服务器104最终将根据得到目标事件序列,对序列中涉及的执行节点进行调用,执行待执行事件,并最终完成待执行任务。其中,终端102可以但不限于是各种终端设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种任务事件调度方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,获取待执行任务、以及待执行任务的时间约束,待执行任务中包括若干项待执行节点子任务。
在任务事件调度方法的实施场景中,是针对采用异构功能单元类型的组合构建方式,以实现高性能和低成本的实时系统的设计。在实施例中,异构功能单元是指在计算机处理器中采用不同的物理实现、架构或指令集体系结构来执行特定类型的指令,以提高处理性能和效率。实施例中的异构功能单元中的待执行任务包括但不限于指令调度、数据传输、以及结果反馈等内容。进一步地,实施例中的待执行任务可以由多个待执行事件所组合而成。实施例中的事件,可以具体为一个能够实现异构功能单元功能的节点所执行的具体操作或者目标程序。实施例中的时间约束,是指完成特定任务限定执行时间。
示例性地,实施例中首先获取需要由实时系统中的异构功能单元协同以共同完成的数据传输任务,并且该数据传输任务可以细分为可以由多个异构功能单元对应的节点并行处理的节点事件。同时,在获取这一数据传输任务的同时,也将同步获取完成这一数据传输任务中所有具体操作的时间约束,即需要在预设的时间内,完成数据传输任务中所有具体操作。
步骤204,获取执行节点用于执行待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息。
其中,执行节点是指能够实现特定功能、或异构功能单元对应的节点。节点的功能单元类型,是用于描述节点负责处理不同类型的任务或运算,并协同工作以完成复杂的计算以及任务,例如,实施例中提供了R1和R2两种功能单元,在进行同种操作时,功能单元R1下,节点执行操作的时间快但资源开销更大;相反地,功能单元R2下,节点执行操作的时间慢但资源开销更小。节点的事件信息是指,在对应的功能单元类型下,节点执行对应任务的相关信息,包括但不限于预计执行时间、执行概率、以及预计资源开销等均为节点信息;预计执行时间是指节点执行特定事件时所需要花销的时间;执行概率是指节点执行特定事件的概率;预计资源开销是指节点执行特定事件需要花销的资源。
示例性地,实施例中可以将存储的历史任务数据进行整理统计,得到所有节点实现特定功能下完成对应事件的记录数据,这一记录数据主要包括节点执行时间所需要花销的时间、该节点执行这一事件或具体操作的概率、以及完成对应事件需要产生的资源开销。将上述统计数据进行整理后作为各个执行节点的节点信息,当获取待执行任务时,可以同步获取所有可用节点的节点信息,以备后续形成待执行任务的分配方案和开销。
步骤206,根据若干个事件信息、以及若干个功能单元类型,生成标识比特位,并组合标识比特位,得到二进制字符串;其中二进制字符串用于表征候选事件序列集合。
实施例中,构建的候选事件序列其中可以包括多个节点执行事件,并且记录每一个事件执行概率以及预计资源开销。进一步地,实施例中的候选事件序列能够描述目标时间约束下的各种分配方案和开销,以及具体操作可以按时完成的概率。
具体在实施例中,对于一个具体操作,各类功能单元皆可能执行。但不同的功能单元类型会有不同的执行速度和开销。执行速度快的功能单元开销大,而执行速度慢的功能单元开销小。同样的任务,执行时间越短也即吞吐量越大。因此,如何平衡吞吐量和开销之间的关系,即为功能单元分配问题的关键。实施例中,每个操作的执行时间是一个随机变量,因此程序的执行耗时并非是固定不变的。实施例中的时间约束可以包括硬性时间约束和软性时间约束。硬性时间约束指的是在最差情况下,程序的执行耗时。但由于上面提到操作的执行时间是随机变量,硬性时间约束往往太过苛刻。在实施例中,程序在更小的时间约束下,也有一定的概率可以完成,这种约束则称为软性时间约束。因此,实施例中可以基于给定的软性时间约束的情况,计算得到满足该软性时间约束下节点对应的候选事件序列。实施例能够通过已知的节点信息,构建形成一个非确定性多项式(Nondeterministicpolynominal,NP)问题,并基于动态规划问题的算法思想不断形成可行解。实施例中通过(概率,开销)这一开销对的数据结构对事件序列(组合)进行描述,例如,实施例中给定任务的时间约束为2秒,可用的节点包括节点0以及节点1,进而,实施例中得到候选事件序列可以包括:(0.7,4)和(0.9,10);其中,(0.7,4)表示在2秒内,节点0和节点1有70%的概率以4的开销完成整个任务;(0.9,10)表示在2秒内,节点0和节点1有90%的概率以10的开销完成整个任务。
步骤208,根据二进制字符串中的标识比特位,对候选事件序列集合进行去冗余处理,得到时间约束下的功能单元分配方案。
在传统的技术方案中,由于采用了去冗余算法,对于满足同一时间约束的两个开销相同的对,例如(a,b)和(c,b),如果a<c,则算法认为c的概率包含了a,最终直接删除了前面这个对,此类直接删除的方法,可能导致漏算事件概率,并且,由于涉及多个节点的概率运算,这种概率是连乘的,漏算的影响将会不断放大,进而误差也会越来越大。为解决这一问题,实施例中采用了状态压缩的方法来单独标记事件。更为具体地,实施例中通过用二进制字符串的每一个位来表示一个事件序列;例如,在5秒的时间约束下构建的二进制序列为1001,其中,节点0能够执行的事件包括事件A和事件B,节点1能够执行的事件包括事件C和D,因此,将节点0和节点1的事件两两进行组合,能够得到四种组合方式,因此,实施例中需要4个比特(bit)位的二进制字符串进行描述;二进制字符串的定义具体如表1所示:
表1
进一步地,根据事件的组合后时间是否满足时间约束进行筛选构建得到二进制序列1001。需要说明的是,二进制字符串中的比特位为1时表明选择对应的事件组合,为0时,则不选择这一事件组合;进而,1001表明,候选事件序列中包括BD以及AC的事件组合。如此,每一个位可以唯一确定一个事件序列,在进行去冗余算法的时候,直接通过对二进制字符串的对比以及运算,对同一时间约束下的开销相同的事件序列进行剔除,替代了冗余算法,在判断开销相同时,直接将概率较小的事件序列进行删除的方式,有效地避免了漏算。
进一步地,实施例在生成了记录时间序列的二进制字符串之后,可以通过二进制字符串进行对比的方式,进行去冗余处理。例如,实施例中得到同一时间约束下,两个资源花销相同的候选事件序列,其中,序列1的二进制字符串为0001,序列2的二进制字符串为1001,那么将两个字符串进行对比可以直接明确,序列2的所有事件组合,包含了序列1中所有时间组合。因此,实施例中仅保留序列作为目标事件序列。
步骤210,根据功能单元分配方案调用执行节点,执行待执行节点子任务。
其中,分配方案是指在每个节点选择了哪一项功能。例如,两个节点的任务,功能单元的分配方案可能是0节点选择R1功能单元,1节点选择R1功能单元。在形成分配方案的过程,会逐步保存每一个节点所选择的功能单元;并且,在最终得到总开销的时候,同样也就得到了该总开销对应的分配方案。
示例性地,实施例中在得到了目标事件序列之后,根据目标事件序列对应的二进制字符串,进行反推,可以确定具体的事件组合,根据事件组合中所包含的事件信息,可以确定具体的执行节点、节点执行的概率以及节点执行该任务的资源开销,将上述信息内容进行整理,得到事件的执行方案,并基于这一执行方案调用对应的节点执行相应的事件,例如执行某项具体操作或执行目标程序,最终完成目标任务。
本申请所提供的任务事件调度方法,基于待执行任务中细分的待执行事件,以及时间约束,对集成系统中可用的节点进行调用,并计算得到节点的预计执行时间、执行概率、以及预计资源开销;方法在确定时间约束的情况下,进一步确定该时间约束下的各种分配方式对应的执行概率、以及预计资源开销,并形成对应的候选事件序列;进一步地,方案运用了状态压缩的方法来标记事件序列,即方法可以通过二进制中每一个比特位唯一确定一个事件序列;方法通过二进制的比特位进行去冗余处理,替代了传统技术方案中对重复的时间序列直接进行删除的处理方式,有效地避免漏算事件序列而导致产生较大误差,提高了待执行任务或事件分配调度的准确性。
在一个实施例中,如图3所示,方法中根据执行概率、以及预计资源开销,构建候选事件序列的过程,可以包括以下步骤:
步骤302,获取预设的步长约束。
其中,步长约束用于限制在进行候选事件序列构建过程中,所能够包含的节点数量。
示例性地,在实施例中由于节点数量的增多,在运算过程中内存开销是指数型增长的,如果较多数据的节点进行运算,则需要耗费大量的时间。因此,实施例中可以通过预先设置的方式,通过步长设置的方式限制内存及时间开销,例如,实施例中的步长约束设置为4,则表明在候选事件序列构建过程仅选择4个节点的节点事件进行事件序列的筛选运算。
步骤304,根据步长约束,确定功能单元分配方案中执行节点的数量约束。
在实施例中,由于步长约束是通过限制节点数量来进行内存及时间开销的限制的,因此,实施例中可以根据步长约束直接确定候选事件序列中执行节点的数量,即节点的数量约束。
示例性地,实施例中例如,实施例中将步长约束设置为4,那么也就是说在进行候选事件序列的构建时,仅选择4个节点的节点信息进行候选事件序列的构建。
步骤306,根据预设的内存容量,构建满足数量约束的多个候选节点序列。
示例性地,实施例中将步长约束设置为4个节点时,某实时系统中存在8个可用的节点,包括节点0至节点7,因此,将节点0、1、2、3通过构建开销对的方式进行描述,并将若干开销对进行组合形成满足时间约束的候选事件序列,并通过二进制字符串的方式对所有的候选事件序列进行表征。将相同开销下二进制字符串进行对比,从而去除相同开销下的冗余时间序列,得到候选子序列0’。同样地,对节点4、5、6、7进行相同的处理后得到1’。
步骤308,将多个候选节点序列进行整合,得到完整节点序列。
示例性地,实施例中候选子序列0’以及候选子序列1’,所有的事件组合(开销对)进行再一次的去冗余处理,将存在包含关系的开销对进行冗余删除。需要说明的是,实施例中进行冗余删除,目的是为了使相同时间约束下概率和资源开销均保持严格的概率保留最大值、且概率保留最小值的对比筛选方式;例如,相同时间约束下,存在(0.54,13)的开销对和(0.56,12)开销对,因此,在去冗余处理中,将会删除(0.54,13)的开销对。又例如,存在开销对为(0.72,8)的开销对以及(0.8,8)的开销对,在去冗余处理中将会删除(0.72,8)的开销对。因此,在将候选子序列0’以及候选子序列1’进行去冗余处理之后,根据所保留的开销对(对应的时间组合),形成实施例中的完整事件序列。
步骤310,根据完整节点序列、以及功能单元分配方案调用执行节点,执行待执行节点子任务。
实施例中通过设置步长的方式,来限制事件序列运算过程中的内存及时间开销,有效地提高了运算效率并降低了内存开销。
在一个实施例中,方法中根据执行概率、以及预计资源开销,构建满足数量约束的多个候选子序列的过程,包括以下步骤:
步骤一,获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,并生成事件记录。
步骤二,根据事件记录中的预计执行时间,对事件记录进行时间升序排列,得到事件记录序列。
步骤三,去除事件记录序列中的冗余记录。
步骤四,根据数量约束以及预设的内存容量,将去除冗余记录后的事件记录序列中的事件记录进行组合,形成多个候选子序列。
其中,事件记录采用(时间、概率,数据)的数据格式对节点所能够执行的事件进行描述。
示例性地,实施例中可以将节点信息整理为如表2所示的表格:
表2
其中,其中R1、R2代表不同的功能单元,T为执行时间,P为该时间内完成操作的概率,C为操作在此功能单元上的开销。实施例中,基于表2构建形成表3:
表3
表3中的单元格,表示特定时间内,特定节点执行特定功能对应事件的概率以及资源开销。例如,0节点在1秒的情况下,有90%的概率会以10的资源开销执行相应的事件。表3的生成过程如下:
1)对表2中的每种功能单元的概率进行累加。例如,节点0功能单元R1中,表2中记载有(1,0.9,10)、(3,0.1,10),累加后变为(1,0.9,10)、(3,1.0,10)。其中,(3,1.0,10)表征在3秒的情况下,节点0有100%的概率以10的资源开销完成R1对应的事件,至于事件完成的时间,可能是1秒也可能是3秒。
2)累加完之后,对一个节点的所有功能单元的所有项按照时间进行升序排列。
3)按照时间把项放入对应的格子内,此时的每一项形式为(概率,开销)。
4)此时已经得到了一行,从该行的第一个格子开始,把本格子的所有项加入到后一个格子,并且对后一个格子内的所有记录项通过去冗余算法去除冗余项。实施例中去冗余算法如上述实施例的描述,在此不进行赘述。
进一步地,需要将表3进一步整理形成如表4的表格:
表4
实施例中,表3中的单元格所描述的内容是单个节点在特定时间执行特定事件的概率以及开销。因此,将表3中单元格中的开销对进行进一步的运算,形成表4,表4中的单元格中所记录的开销对,是指在特定时间下,通过多个节点进行协同处理完成对应事件的概率以及开销。例如,第三行中第二列单元格中记录的开销对,所描述的是,在2秒的时间约束内,在节点0进行了相应的事件处理,且节点1也进行相应的事件处理的概率为72%,并且,协同处理所产生的资源开销为18。
实施例中通过表3整理形成表4的过程如下:
1)每次处理一个节点。如果是节点0,则直接把表3中节点0对应的整行复制到表4,结束本轮处理。
2)如果不是节点0,则假设当前处理的节点为i。按列依次处理,假设当前列为t,即时间为t。对于Bi(表3中i节点对应的行)中的每一非空列tj,如果不为空,则有:
其中,Di,t为表4中单元格中的(概率,开销)对,○运算的定义为:L1和L2均为表3中一个格子中里面有若干个(概率,开销)对。对于L1中任意一个(a,b)对和L2里任意一个(c,d)对,进行如下操作:
(,b)*(c,d)=(a*c,b+d)
3)在得到表格中的一行,从该行的第一个单元格开始,把本行中所有单元格中的(概率,开销)对,添加至本行的后一个单元格中。并对最后一个单元格中的所有(概率,开销)对,首先基于去冗余算法,将所有的(概率,开销)对按照概率的升序进行排列,然后将排列中相邻的(概率,开销)对中的概率进行对比,若概率相等时,判断开销是否相同,如果相同,直接删除重复的(概率,开销)对;否则,删除开销更大的(概率,开销)对,进而,被保留的(概率,开销)对则为候选子序列。如果开销不相同,则保留开销较小的(概率,开销)对。若对比时,概率并不相等,那么,将删除概率开销较大的(概率,开销)对,并得到候选子序列。
在一个实施例中,方法中根据候选事件序列生成标识比特位,并将标识比特位进行组合,得到二进制字符串的过程,可以包括以下步骤:
步骤一,获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,生成执行节点对应的事件标识。
步骤二,根据事件信息的数量以及功能单元类型,确定二进制字符串的比特位数量。
步骤三,根据事件标识形成标识比特位。
步骤四,根据标识比特位、以及比特位数量,构建得到二进制字符串。
示例性地,实施例中采用状态压缩的方法,以表5所示的功能单元R1中,可以通过节点0和节点1执行功能单元的具体操作:
表5
在表5中,将0节点1秒完成功能单元R1的具体操作记作事件0,将0节点3秒完成功能单元R1的具体操作记作事件1,以此完成对每个节点在不同时间、不同概率、以及对应的开销形成的事件内容进行标记。相类似地,同样将1节点中进行标记,即1节点1秒完成功能单元R1的具体操作记作事件0,1节点3秒完成功能单元R1的具体操作记作事件0。由于存在两个执行姐点,因此实施例中存在两个标识位。将两个标识位进行组合,可以得到11、10、01以及00的字符串;例如,其中11字符串所描述的,即为0节点事件1和1节点事件1的事件组合。那么根据存在4种事件组合以及对应的标识,实施例中可以通过构建四位的二进制字符串,用于对前述的4中事件组合的标识进行表示。二进制字符串中bit位字符为0,则表明不存在对应的事件组合;反之,bit位字符为0,则存在对应的事件组合;例如,字符串0001,则说明只有仅存在最后一位的事件组合的标识,也就是只存在00的标识;00标识对应的是0节点事件0以及1节点事件0的组合。实施例中通过状态压缩方法,对实施例中需要进行处理的数据内容进行压缩,极大地提高了方法处理的效率。
在一个实施例中,方法根据二进制字符串对候选事件序列进行去冗余处理的过程,可以包括以下步骤:
步骤一,将候选时间序列集合对应的二进制字符串进行或运算,得到概率补充后的二进制字符串。
步骤二,根据概率补充后的二进制字符串中各个比特位表征的事件序列,生成目标事件序列集合。
步骤三,根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案,单元类型序列为执行节点对应的功能单元类型组合形成。
示例性地,在表4中,节点1所在行,5秒所在列的单元格中,存在一个(0.9,18)的开销对,意思指的是在单位时间5之内,有0.9的概率能以18的开销协同节点0和节点1完成整个任务。进一步结合表2可知,由于开销是18,因而只能是节点0使用R1,节点1也使用R1的分配方式。那么,结合表2可知,有三种情况均满足单位时间5以内的限制:①1秒+1秒的组合,其概率为0.9*0.8=0.72;②1秒+4秒的组合,其概率为0.9*0.2=0.18;③3秒+1秒,其概率为0.1*0.8=0.08。将三种概率进行累加,得到的概率为0.98,其与表4中的0.9存在0.08的误差。
针对上述存在误差的情况,实施例中在进行去冗余处理的过程中,通过前述的二进制字符串的标识方法,可以将前述的三个组合描述为:①P=0.72,二进制字符串为0001;②P=0.9,二进制字符串描述为:0011;③P=0.8,二进制字符串为0101。实施例中,通过二进制的或运算,可以判断P=0.9的事件组合是否完全包含了P=0.72和P=0.8中所有的事件组合。显而易见的是,P=0.9的事件包含了P=0.72的全部事件组合,但是并没有包含P=0.8中所有的事件组合;因此需要对P=0.9的二进制字符串进行补全,实现概率的补充。通过或运算补全后的二进制字符串为0111,其对应的概率为P=0.98。补全的字符为2号位的字符,其对应的事件组合标记位10,即0节点选择R1功能单元执行事件1;1节点选择R1功能单元执行事件0。其补全的概率为0.1*0.8=0.08。实施例中通过二进制的标记字符串进行去冗余处理,避免了概率的漏算,最终计算的事件序列集合的概率更为准确。
在一个实施例中,本申请所提供的任务事件调度方法,还包括以下步骤:
步骤一,获取待执行任务中若干项待执行节点子任务对应的功能信息。
步骤二,根据功能信息,对待执行节点子任务的若干个功能单元类型进行组合,得到功能单元类型序列。
示例性地,如表2所示,实施例中提供了R1和R2两种功能单元,在进行同种操作时,功能单元R1下,节点执行操作的时间快但资源开销更大;相反地,功能单元R2下,节点执行操作的时间慢但资源开销更小。因此,在实施例需要执行某项特定的任务时,根据任务中的细分事件,确定能够执行每个事件的功能单元,进而确定该功能单元所对应的执行节点。在实施例中,对于节点执行某个事件,即完成目标操作,其执行时间是概率性的,而非固定的,因此,在实施例中对于给定的时间约束,需要通过前述的实施例步骤,确定目标事件序列,并得到最低的资源开销以及其功能单元的分配(执行节点)情况,并确定其概率。实施例基于功能单元的不同类型,能够提供多种多样的节点的执行事件组合,为目标事件序列提供更大的选择范围,以使通过筛选以及去冗余处理之后得到目标事件序列的准确性更高。
结合具体的任务执行场景,对本申请实施例进行更为完整且详细的描述如下:
对于某项任务中的一个具体操作,各类功能单元皆可执行。但不同的功能单元类型会有不同的执行速度和开销。执行速度快的功能单元开销大,而执行速度慢的功能单元开销小。同样的任务,执行时间越短也即吞吐量越大。因此,如何平衡吞吐量和开销之间的关系,即为功能单元分配问题的关键。
实施例中在给定了任务的时间约束的情况下,需要得到在该时间约束下的各种分配方案和开销,以及任务可以按时完成的概率。如图4所示,实施例形成分配方案的过程,主要包括以下步骤:
步骤一,实施例首先根据不同的功能单元下,各个节点执行对应操作的执行时间、该时间内完成操作的概率、以及完成该操作时所产生的资源开销,构建得到一个NP问题,并基于动态规划的求解方式,进行求解。
步骤二,将每种功能单元下节点在特定事件内完成操作的概率进行累加,累加完之后,对一个节点的所有功能单元的所有项按照时间进行升序排列,并按照对应的时间,记录每个时间点对应的(概率,开销)对。通过不断累加的方式,直至得到最后一个时间点对应的所有(概率,开销)对。
步骤三,通过去冗余算法对每个时间点下所有的(概率,开销)对进行去冗余处理,去除其中的冗余项。实施例中去冗余项的方式,是基于根据当前时间点下所有的资源开销值所对应的概率进行补全或删除。具体地,在开销值相同的情况下,实施例中通过二进制字符串的方式来描述特定时间点下,特定资源开销值所对应的节点事件组合,通过将多个节点事件组合所形成的二进制字符串进行或运算,得到包含所有可行的节点事件组合的二进制字符串,并基于这一二进制字符串进行概率补全,更新(概率,开销)对中的概率。
步骤四,计算节点之间在时间约束下协同完成任务的概率以及开销。将满足时间约束的时间点组合方式,确定每个节点的执行时间,并获取对应执行时间下的所有(概率,开销)对。将来自于不同节点的(概率,开销)对进行运算,运算方式是将概率相乘,将开销相加,得到新的(概率,开销)对,所得到的新的(概率,开销)对,所表示的含义是在对应的时间约束下,通过若干个节点协同完成特定操作的概率以及开销。
步骤五,通过与步骤三相同的去冗余方式,对每个时间约束下的(概率,开销)对进行去冗余处理,得去冗余之后的(概率,开销)对。进而,每个时间约束下的(概率,开销)对能够完整地对该时间约束下的各种分配方案和开销进行表征。方法最终也可以根据形成的各种分配方案和开销执行相应的操作,以完成对应的事件及任务。
实施例中采用状态压缩的方法来单独标记事件。用二进制的每一个位来表示一个事件序列。这样每一个位可以唯一确定一个事件序列,在进行去冗余算法的时候,用本方法来代替原先情况下的直接删除,可以避免概率的漏算,有效的提高了方法所形成的分配方案的准确性。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的任务事件调度方法的任务事件调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务事件调度装置实施例中的具体限定可以参见上文中对于任务事件调度方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种任务事件调度装置500,包括:任务获取模块501、数据整理模块502、序列构建模块503、冗余处理模块504和事件执行模块505,其中:
任务获取模块501,用于获取待执行任务、以及待执行任务的时间约束,待执行任务中包括若干项待执行节点子任务;
数据整理模块502,用于获取执行节点用于执行待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
序列构建模块503,用于根据若干个事件信息、以及若干个功能单元类型,生成标识比特位,并组合标识比特位,得到二进制字符串,二进制字符串用于表征候选事件序列集合;
冗余处理模块504,用于根据二进制字符串中的标识比特位,对候选事件序列集合进行去冗余处理,得到时间约束下的功能单元分配方案;
事件执行模块505,用于根据功能单元分配方案调用执行节点,执行待执行节点子任务。
在一个实施例中,事件执行模块505还用于获取预设的步长约束;根据步长约束,确定功能单元分配方案中执行节点的数量约束;根据预设的内存容量,构建满足数量约束的多个候选节点序列;将多个候选节点序列进行整合,得到完整节点序列;根据完整节点序列、以及功能单元分配方案调用执行节点,执行待执行节点子任务。
在一个实施例中,事件执行模块505还用于获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,并生成事件记录;根据事件记录中的预计执行时间,对事件记录进行时间升序排列,得到事件记录序列;去除事件记录序列中的冗余记录;根据数量约束以及预设的内存容量,将去除冗余记录后的事件记录序列中的事件记录进行组合,形成多个候选子序列。
在一个实施例中,序列构建模块503还用于获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,生成执行节点对应的事件标识;根据事件信息的数量以及功能单元类型,确定二进制字符串的比特位数量;根据事件标识形成标识比特位;根据标识比特位、以及比特位数量,构建得到二进制字符串。
在一个实施例中,冗余处理模块504还用于将候选时间序列集合对应的二进制字符串进行或运算,得到概率补充后的二进制字符串;根据概率补充后的二进制字符串中各个比特位表征的事件序列,生成目标事件序列集合;根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案,单元类型序列为执行节点对应的功能单元类型组合形成。
在一个实施例中,装置500还包括功能分类模块,该功能分类模块用于获取待执行任务中若干项待执行节点子任务对应的功能信息;根据功能信息,对待执行节点子任务的若干个功能单元类型进行组合,得到功能单元类型序列。
上述任务事件调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储功能单元相关的节点数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务事件调度方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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.根据权利要求2所述的方法,其特征在于,所述根据预设的内存容量,构建满足所述数量约束的多个候选节点序列包括:
获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,并生成事件记录;
根据所述事件记录中的预计执行时间,对所述事件记录进行时间升序排列,得到事件记录序列;
去除所述事件记录序列中的冗余记录;
根据数量约束以及预设的内存容量,将去除冗余记录后的事件记录序列中的事件记录进行组合,形成多个候选子序列。
4.根据权利要求1所述的方法,其特征在于,所述根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串包括:
获取若干个事件信息中的预计执行时间、执行概率、以及预计资源开销,生成所述执行节点对应的事件标识;
根据事件信息的数量以及功能单元类型,确定二进制字符串的比特位数量;
根据所述事件标识形成标识比特位;
根据所述标识比特位、以及所述比特位数量,构建得到二进制字符串。
5.根据权利要求1所述的方法,其特征在于,所述根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案包括:
将候选时间序列集合对应的二进制字符串进行或运算,得到概率补充后的二进制字符串;
根据所述概率补充后的二进制字符串中各个比特位表征的事件序列,生成目标事件序列集合;
根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案,所述单元类型序列为执行节点对应的功能单元类型组合形成。
6.根据权利要求5所述的方法,其特征在于,在根据时间约束,以及目标事件序列集合对应的功能单元类型序列,形成功能单元分配方案之前,还包括:
获取待执行任务中若干项待执行节点子任务对应的功能信息;
根据所述功能信息,对待执行节点子任务的若干个功能单元类型进行组合,得到功能单元类型序列。
7.一种任务事件调度装置,其特征在于,所述装置包括:
任务获取模块,用于获取待执行任务、以及待执行任务的时间约束,所述待执行任务中包括若干项待执行节点子任务;
数据整理模块,用于获取执行节点用于执行所述待执行节点子任务的若干个功能单元类型、以及功能单元类型对应的若干个事件信息;
序列构建模块,用于根据所述若干个事件信息、以及所述若干个功能单元类型,生成标识比特位,并组合所述标识比特位,得到二进制字符串,所述二进制字符串用于表征候选事件序列集合;
冗余处理模块,用于根据所述二进制字符串中的标识比特位,对所述候选事件序列集合进行去冗余处理,得到所述时间约束下的功能单元分配方案;
事件执行模块,用于根据所述功能单元分配方案调用所述执行节点,执行所述待执行节点子任务。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310840878.5A CN116880979A (zh) | 2023-07-10 | 2023-07-10 | 任务事件调度方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310840878.5A CN116880979A (zh) | 2023-07-10 | 2023-07-10 | 任务事件调度方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116880979A true CN116880979A (zh) | 2023-10-13 |
Family
ID=88270929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310840878.5A Pending CN116880979A (zh) | 2023-07-10 | 2023-07-10 | 任务事件调度方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880979A (zh) |
-
2023
- 2023-07-10 CN CN202310840878.5A patent/CN116880979A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114420215B (zh) | 基于生成树的大规模生物数据聚类方法及系统 | |
CN113901395B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN116880979A (zh) | 任务事件调度方法、装置、计算机设备以及存储介质 | |
JP7041603B2 (ja) | 計算機システム及び業務フローのパターンの生成方法 | |
CN111027688A (zh) | 一种基于fpga的神经网络计算器生成方法及装置 | |
CN113778518B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114238258B (zh) | 数据库数据处理方法、装置、计算机设备、存储介质 | |
CN114265556B (zh) | 一种数据存储方法及装置 | |
US20240087076A1 (en) | Graph data calculation method and apparatus | |
US20240088913A1 (en) | Graph data compression method and apparatus | |
CN117555487A (zh) | 数据拆分方法、装置、计算机设备、存储介质 | |
CN116665935A (zh) | 堆芯换料旧组件装载方案生成方法、装置和存储介质 | |
CN117056077A (zh) | 深度学习模型部署方法、装置、计算机设备 | |
WO2021224960A1 (ja) | 保存装置、保存方法、およびプログラム | |
CN117911004A (zh) | 检修信息的确定方法、装置、计算机设备和存储介质 | |
CN118034885A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN118363949A (zh) | 对大数据平台进行数据清理的方法、装置、设备、可读存储介质和程序产品 | |
CN117873670A (zh) | 任务队列调度方法、装置、设备、存储介质和程序产品 | |
CN118250027A (zh) | 内网主机节点安全防御过程中的资源分配方法及装置 | |
CN116932677A (zh) | 地址信息匹配方法、装置、计算机设备和存储介质 | |
CN115437767A (zh) | 基于切边数优化的分区划分方法、装置和程序产品 | |
CN117314067A (zh) | 工单分配方法、装置、设备、存储介质和程序产品 | |
CN114201491A (zh) | 数据检索方法、装置、计算机设备和存储介质 | |
CN117435576A (zh) | 数据迁移方法、装置、计算机设备、存储介质和产品 | |
CN117407156A (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 |