CN115114028A - 一种电力仿真二次控制的任务分配方法及装置 - Google Patents

一种电力仿真二次控制的任务分配方法及装置 Download PDF

Info

Publication number
CN115114028A
CN115114028A CN202210784715.5A CN202210784715A CN115114028A CN 115114028 A CN115114028 A CN 115114028A CN 202210784715 A CN202210784715 A CN 202210784715A CN 115114028 A CN115114028 A CN 115114028A
Authority
CN
China
Prior art keywords
task
processing
tasks
time
topological structure
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
Application number
CN202210784715.5A
Other languages
English (en)
Other versions
CN115114028B (zh
Inventor
郭天宇
郭琦
黄立滨
郭海平
卢远宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CSG Electric Power Research Institute
Original Assignee
CSG Electric Power Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CSG Electric Power Research Institute filed Critical CSG Electric Power Research Institute
Priority to CN202210784715.5A priority Critical patent/CN115114028B/zh
Publication of CN115114028A publication Critical patent/CN115114028A/zh
Application granted granted Critical
Publication of CN115114028B publication Critical patent/CN115114028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本申请公开了一种电力仿真二次控制的任务分配方法及装置,方法包括:监测电力仿真系统的二次控制系统的任务处理拓扑结构,确定任务结构信息,统计任务处理拓扑结构中任务的数量,根据线程数量和任务总数量,确定处理所有任务的时长计算模式,结合任务结构信息,计算处理所有任务的时间,最后确定任务分配给线程的方式。可见,通过比较线程与待处理任务在数量上的关系,能够确定相应的时长计算模式,在对应的时间计算模式下,结合任务结构信息,计算各任务的处理时间,能够充分利用到CPU多核间并行计算的特性,所计算得到的时间为任务优化分配给线程下的用时,以计算得到的优化时间作为处理所有任务的用时,能够优化任务对线程的分配。

Description

一种电力仿真二次控制的任务分配方法及装置
技术领域
本申请涉及电力系统仿真领域,更具体的说,是涉及一种电力仿真二次控制的任务分配方法及装置。
背景技术
随着用电需求的不断增加,电力系统也在迅速发展,诞生了更多电力电子设备,以丰富电力系统,使电力系统变得更复杂了,因此有必要在电力系统运行前对其仿真。电力系统仿真是认识电力系统特性,支撑电力系统研究、规划、运行、生产、装备制造,以及保障电力系统安全可靠运行的有效手段。
电力系统仿真中,二次控制系统用于数字信号仿真,是信号控制的重要组成部分,现有对二次控制系统仿真时间中的任务处理时间的计算,往往是基于单线程的,或将二次控制系统的计算任务人为分配到不同线程中处理,未根据二次控制系统任务处理的特性进行协调分配线程,无法充分利用CPU多核间并行计算的特性,使得计算二次控制系统仿真时间中的时间不精简,从而导致任务分配不协调。
通过分析分配给二次控制系统的线程数量,将计算任务协调地分配给每个线程处理,能够优化任务对线程的分配。
发明内容
鉴于上述问题,提出了本申请以便提供一种电力仿真二次控制的任务分配方法及装置,以优化任务对线程的分配。
为了实现上述目的,现提出具体方案如下:
一种电力仿真二次控制的任务分配方法,包括:
监测电力仿真系统的二次控制系统的任务处理拓扑结构;
确定所述任务处理拓扑结构中的任务结构信息;
统计所述任务处理拓扑结构中所有任务的数量;
根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
可选的,确定所述任务处理拓扑结构中的任务结构信息,包括:
在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构;
根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级;
统计所述任务处理拓扑结构中,任务层级的数量;
统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量;
统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量;
将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
可选的,统计所述任务处理拓扑结构中所有任务的数量,包括:
统计所述任务处理拓扑结构中每个任务支路的各个任务的数量,为该任务支路的任务量;
统计所述任务处理拓扑结构中各个任务支路的任务量,为所述任务处理拓扑结构中所有任务的数量。
可选的,所述根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,包括:
当所述二次控制系统当前用于任务分配处理的线程的个数为1时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第一时长计算模式;
当所述二次控制系统当前用于任务分配处理的线程的个数,大于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第二时长计算模式;
当所述二次控制系统当前用于任务分配处理的线程的个数大于1,且小于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第三时长计算模式。
可选的,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第一时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000031
其中,tcal-one为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第二时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000032
其中,tcal-inf为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-1-1为处理第i任务层级的首个任务支路的首个任务的时间,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第三时长计算模式时,确定时间计算约束条件集合,所述时间计算约束条件集合包括第一约束条件、第二约束条件和第三约束条件,所述第一条件为每个任务序列中的各个任务按照预设的任务执行顺序执行,所述第二条件为每个任务序列中的每个任务的开始处理时刻,晚于位于该任务的任务执行顺序之前的任务的结束处理时刻,所述第三条件为所述二次控制系统在当前的各个线程并行处理所述任务处理拓扑结构中的所有任务;
在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务支路中各个任务的时间,作为该任务支路的支路任务时间;
在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务层级中各个任务支路的支路任务时间,作为该任务层级的层级任务时间;
利用下式计算得到在满足所述时间计算约束条件集合下的,处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000041
其中,tcal-mul为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,Ti-1为通过第一个线程处理第i任务层级的层级任务时间,y为当前向所述二次控制系统分配线程的数量。
可选的,所述确定每个时长计算模式对应的任务分配给各个线程的方式,包括:
当所述时长计算模式为第一时长计算模式时,将所述任务处理拓扑结构中的所有任务全部分配给一条线程;
当所述时长计算模式为第二时长计算模式时,将所述任务处理拓扑结构中的所有任务中的每个任务,逐一分配给每个线程;
当所述时长计算模式为第三时长计算模式时,以符合所述时间计算约束条件集合的方式,将所述任务处理拓扑结构中的所有任务分配给各个线程。
一种电力仿真二次控制的任务分配装置,其特征在于,包括:
拓扑结构监测单元,用于监测电力仿真系统的二次控制系统的任务处理拓扑结构;
任务结构信息确定单元,用于确定所述任务处理拓扑结构中的任务结构信息;
任务数量统计单元,用于统计所述任务处理拓扑结构中所有任务的数量;
时长计算模式确定单元,用于根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
任务处理时间计算单元,用于根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
任务线程分配单元,用于确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
可选的,所述任务结构信息确定单元,包括:
任务支路位置确定单元,用于在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构;
任务层级确定单元,用于根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级;
层级数量统计单元,用于统计所述任务处理拓扑结构中,任务层级的数量;
支路数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量;
支路任务数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量;
数量信息组合单元,用于将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
可选的,所述任务数量统计单元,包括:
第一任务数量统计子单元,用于统计所述任务处理拓扑结构中每个任务支路的各个任务的数量,为该任务支路的任务量;
第二任务数量统计子单元,用于统计所述任务处理拓扑结构中各个任务支路的任务量,为所述任务处理拓扑结构中所有任务的数量。
可选的,所述时长计算模式确定单元,包括:
第一时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数为1时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第一时长计算模式;
第二时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数,大于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第二时长计算模式;
第三时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数大于1,且小于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第三时长计算模式。
可选的,所述任务处理时间计算单元,包括:
第一任务处理时间计算子单元,用于当所述时长计算模式为第一时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000071
其中,tcal-one为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,所述任务处理时间计算单元,包括:
第二任务处理时间计算子单元,用于当所述时长计算模式为第二时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000072
其中,tcal-inf为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-1-1为处理第i任务层级的首个任务支路的首个任务的时间,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,所述任务处理时间计算单元,包括:
约束条件集合确定单元,用于当所述时长计算模式为第三时长计算模式时,确定时间计算约束条件集合,所述时间计算约束条件集合包括第一约束条件、第二约束条件和第三约束条件,所述第一条件为每个任务序列中的各个任务按照预设的任务执行顺序执行,所述第二条件为每个任务序列中的每个任务的开始处理时刻,晚于位于该任务的任务执行顺序之前的任务的结束处理时刻,所述第三条件为所述二次控制系统在当前的各个线程并行处理所述任务处理拓扑结构中的所有任务;
第一线程处理时间确定单元,用于在满足所述时间计算约束条件集合下,将每个线程处理每个任务支路中各个任务的时间,作为该任务支路的支路任务时间;
第二线程处理时间确定单元,用于在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务层级中各个任务支路的支路任务时间,作为该任务层级的层级任务时间;
约束任务时间计算单元,用于利用下式计算得到在满足所述时间计算约束条件集合中的各条件下的,处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000081
其中,tcal-mul为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,Ti-1为通过第一个线程处理第i任务层级的层级任务时间,y为当前向所述二次控制系统分配线程的数量。
可选的,所述任务线程分配单元,包括:
第一任务线程分配子单元,用于当所述时长计算模式为第一时长计算模式时,将所述任务处理拓扑结构中的所有任务全部分配给一条线程;
第二任务线程分配子单元,用于当所述时长计算模式为第二时长计算模式时,将所述任务处理拓扑结构中的所有任务中的每个任务,逐一分配给每个线程;
第三任务线程分配子单元,用于当所述时长计算模式为第三时长计算模式时,以符合所述时间计算约束条件集合的方式,将所述任务处理拓扑结构中的所有任务分配给各个线程。
借由上述技术方案,本申请通过监测电力仿真系统的二次控制系统的任务处理拓扑结构,确定所述任务处理拓扑结构中的任务结构信息,统计所述任务处理拓扑结构中所有任务的数量,根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。由此可见,通过比较分配给二次控制系统的线程与任务处理拓扑结构中的待处理任务在数量上的关系,能够确定相应的时间计算模式,在对应的时间计算模式下,结合任务处理拓扑结构的任务结构信息,计算各任务的处理时间,能够充分利用到CPU多核间并行计算的特性,所计算得到的时间为任务优化分配给线程下的用时,以计算得到的优化时间作为处理所有任务的用时,能够优化任务对线程的分配。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种实现电力仿真二次控制的任务分配的流程示意图;
图2为本申请实施例提供的一种获取任务结构信息的流程示意图;
图3为本申请实施例提供的一种任务处理拓扑结构的示意图;
图4为本申请实施例提供的一种获取任务处理拓扑结构中所有任务的流程示意图;
图5为本申请实施例提供的一种实现电力仿真二次控制的任务分配的装置结构示意图;
图6为本申请实施例提供的一种实现电力仿真二次控制的任务分配的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请方案可以基于具备数据处理能力的终端实现,该终端可以是电脑、服务器、云端等。
接下来,结合图1所述,本申请的电力仿真二次控制的任务分配方法可以包括以下步骤:
步骤S110、监测电力仿真系统的二次控制系统的任务处理拓扑结构。
具体的,电力仿真二次控制系统可以表示用于电磁暂态实时仿真的二次控制系统,二次控制系统为数字信号仿真,二次控制系统的任务处理拓扑结构可以表示以计算数字仿真信号作为任务,得到的带有任务执行顺序的处理拓扑结构。
步骤S120、确定所述任务处理拓扑结构中的任务结构信息。
具体的,任务处理拓扑结构中的任务结构信息可以包括各任务在处理过程中的先后顺序的信息,各任务在任务处理拓扑结构中的位置信息,以及每个任务所执行的具体任务信息。
步骤S130、统计所述任务处理拓扑结构中所有任务的数量。
具体的,任务处理拓扑结构中所有任务的数量可以包括任务处理拓扑结构中,需要进行数字信号仿真的各个事件的总数。
步骤S140、根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式。
具体的,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量。
可以理解的是,为更精准地控制二次控制的仿真时间,需要分析线程数与处理总任务数之间的关系,因此不同线程数对于待处理的总任务量所采取的时长计算模式可以不同,进一步地,当线程数出现特殊情况,可以不考虑任务处理拓扑结构中所有任务的数量,以确定时长计算模式。
步骤S150、根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间。
可以理解的是,通过不同的时长计算模式计算所有任务的处理时间不同,每种时长计算模式为根据当前的用于任务分配处理的线程数和总任务量决定的,因此无论采取何种时长计算模式,在其对应的情况下均能使得将线程更高利用率地承担处理任务。
步骤S160、确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
具体的,可以基于每个时长计算模式下确定的,处理所述任务处理拓扑结构中所有任务的时间,确定该时长计算模式对应的任务分配给各个线程的方式。
本实施例提供的电力仿真二次控制的任务分配方法,通过比较分配给二次控制系统的线程与任务处理拓扑结构中的待处理任务在数量上的关系,能够确定相应的时间计算模式,在对应的时间计算模式下,结合任务处理拓扑结构的任务结构信息,计算各任务的处理时间,能够充分利用到CPU多核间并行计算的特性,所计算得到的时间为任务优化分配给线程下的用时,以计算得到的优化时间作为处理所有任务的用时,能够优化任务对线程的分配。
本申请的一些实施例中,结合图2,对上述步骤S120、确定所述任务处理拓扑结构中的任务结构信息的过程进行介绍,该过程可以包括:
步骤S210、在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置。
具体的,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构。
其中,每个任务支路可以包括至少一个任务,每个任务支路中的各个任务具有串行执行的顺序。
步骤S220、根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级。
具体的,对于每个任务支路,在其之前的任务支路的最大串行数量可以表示,在执行该任务支路之前的所有任务支路中,与之串行最多的任务支路的串行数量。每个任务支路所属的任务层级可以表示任务支路的执行次序,为该任务支路对应的最大串行数量加1。
示例如图3,图中示出了A~I共9个任务支路,连接两个任务支路的箭头表示该两个任务支路的任务执行先后顺序。以A为例,由于位于A的执行位置之前没有任务支路,因此A对应的最大串行数量为0,那么A所属的任务层级为第1任务层级(0+1=1)。以B为例,由于位于B的执行位置之前存在A,因此B对应的最大串行数量为1,那么B所属的任务层级为第2任务层级(1+1=2)。以F为例,由于位于F的执行位置之前存在A、B和C,而C和F串行,其串行数量为1,A、B和F串行,其串行数量为2,因此F对应的最大串行数量为2,那么F所属的任务层级为第3任务层级(2+1=3)。以H为例,由于位于H的执行位置之前存在A、B、C、D、F和G,与之串行的有A→B→F、C→F、D→G,因此H对应的最大串行数量为3,那么H所属的任务层级为第4任务层级(3+1=4)。因此,图3中属于第1层级的任务支路有A、C、D和E,属于第2层级的任务支路有B和G,属于第3层级的任务支路有F,属于第4层级的任务支路有H,属于第5层级的任务支路有I。
步骤S230、统计所述任务处理拓扑结构中,任务层级的数量。
可以理解的是,在任务处理拓扑结构中,最高的任务结构级别为任务层级,因此可以在任务处理拓扑结构中统计任务层级的数量。
示例如图3,图中示出了第1任务层级、第2任务层级、第3任务层级、第4任务层级和第5任务层级共五个任务层级。
步骤S240、统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量。
可以理解的是,在任务处理拓扑结构中,仅次于任务层级的任务结构级别为任务支路。
示例如图3,图中示出了第1任务层级有A、C、D和E四个任务支路,第2任务层级有B和G两个任务支路,第3任务层级有F一个任务支路,第4任务层级有H一个任务支路,第5任务层级有I一个任务支路。
步骤S250、统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量。
示例如图3,图中示出了每个任务支路中串行了若干个任务,以黑点表示,如A中有2个任务,C中有3个任务,E中有4个任务。
步骤S260、将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
本实施例提供的电力仿真二次控制的任务分配方法,通过界定任务处理拓扑结构中的任务层级、任务支路和任务之间的关系,统计任务层级的数量、每个任务层级中的任务支路的数量以及每个任务支路中任务的数量,从而得到任务处理拓扑结构中的任务结构信息。
本申请的一些实施例中,结合图4,对上述步骤S130、统计所述任务处理拓扑结构中所有任务的数量的过程进行介绍,该过程可以包括:
步骤S310、统计所述任务处理拓扑结构中每个任务支路的各个任务的数量,为该任务支路的任务量。
具体的,每个任务支路的任务量可以表示该任务支路中串行了任务的数量。
步骤S320、统计所述任务处理拓扑结构中各个任务支路的任务量,为所述任务处理拓扑结构中所有任务的数量。
具体的,将所有任务支路中串行了任务的数量累加,得到任务处理拓扑结构中所有任务的数量。
本申请的一些实施例中,对上述步骤S140、根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式的过程进行介绍,该过程可以包括以下三种情况:
第一种、当所述二次控制系统当前用于任务分配处理的线程的个数为1时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第一时长计算模式。
可以理解的是,在当前用于任务分配处理的线程数只有一条时,需要将所有任务均交给这一条线程进行处理,那么处理的方式可以为串行处理,所耗费的时间也可以为各个任务独立处理的时间的累加结果。
基于此,可以结合任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,具体的,可以包括以下过程:
利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000141
其中,tcal-one为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
第二种、当所述二次控制系统当前用于任务分配处理的线程的个数,大于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第二时长计算模式。
可以理解的是,在当前用于任务分配处理的线程数,比任务处理拓扑结构中的总任务数量更多时,除每个任务层级的第一个任务序列的第一个任务之外的其它任务,均可以将任务按照一对一的方式交给每条线程处理,这些任务对于各线程的处理模式可以为并行处理模式,因此这些任务中单个任务的最长处理时间,可以作为处理这些任务的总时间。
基于此,可以结合任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,具体的,可以包括以下过程:
利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000151
其中,tcal-inf为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-1-1为处理第i任务层级的首个任务支路的首个任务的时间,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
第三种、当所述二次控制系统当前用于任务分配处理的线程的个数大于1,且小于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第三时长计算模式。
可以理解的是,当用于任务分配处理的线程数不仅仅为一条,且不能一对一地分给任务处理拓扑结构中的每个任务时,处理所有任务的总时间由各线程并行处理的最长时间所决定,而任务处理拓扑结构中的所有任务将可以按照设定的多个约束条件,不均匀地分配给各线程。
基于此,可以结合任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,具体的,可以包括以下步骤:
S1、确定时间计算约束条件集合。
具体的,所述时间计算约束条件集合包括第一约束条件、第二约束条件和第三约束条件。
其中,所述第一条件为每个任务序列中的各个任务按照预设的任务执行顺序执行,所述第二条件为每个任务序列中的每个任务的开始处理时刻,晚于位于该任务的任务执行顺序之前的任务的结束处理时刻,所述第三条件为所述二次控制系统在当前的各个线程并行处理所述任务处理拓扑结构中的所有任务。
S2、在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务支路中各个任务的时间,作为该任务支路的支路任务时间。
S3、在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务层级中各个任务支路的支路任务时间,作为该任务层级的层级任务时间。
S4、利用下式计算得到在满足所述时间计算约束条件集合下的,处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000161
其中,tcal-mul为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,Ti-1为通过第一个线程处理第i任务层级的层级任务时间,y为当前向所述二次控制系统分配线程的数量。
本实施例提供的电力仿真二次控制的任务分配方法,通过分析用于任务分配处理的线程数与任务处理拓扑结构中的总任务量的关系,确定任务分配给线程的策略,优化了任务的线程分配,并基于不同情况下相应的策略,计算该情况下任务处理拓扑结构中的所有任务的处理时间,使得计算二次控制系统的仿真时间准确率更高。
本申请的一些实施例中,对上述实施例提到的确定每个时长计算模式对应的任务分配给各个线程的方式的过程进行介绍,该过程可以包括以下三种情况:
1)当所述时长计算模式为第一时长计算模式时,将所述任务处理拓扑结构中的所有任务全部分配给一条线程。
可以理解的是,当时长计算模式为第一时长计算模式时,用于任务分配处理的线程只有一条,因此可以将任务处理拓扑结构中的所有任务全部分配给这一条线程,那么通过该条线程处理所有任务的方式为各个任务串行处理。
2)当所述时长计算模式为第二时长计算模式时,将所述任务处理拓扑结构中的所有任务中的每个任务,逐一分配给每个线程。
可以理解的是,当时长计算模式为第二时长计算模式时,用于任务分配处理的线程数量大于任务处理拓扑结构中的所有任务的数量,因此每条线程可以独立分担每个任务的处理,也即将任务按照一对一的方式交给每条线程处理,那么通过比总任务量更多的所有线程处理所有任务的方式为各个任务并行处理。
3)当所述时长计算模式为第三时长计算模式时,以符合所述时间计算约束条件集合的方式,将所述任务处理拓扑结构中的所有任务分配给各个线程。
可以理解的是,当时长计算模式为第三时长计算模式时,用于任务分配处理的线程数量比任务处理拓扑结构中的所有任务的数量少,但不仅为1条,因此所有任务需要分配给这些线程,在分配任务时可以以时间计算约束条件集合中的各条件为分配标准,并使得处理所有任务的时间最短的方式下,将任务处理拓扑结构中的所有任务分配给各个线程。
本实施例提供的电力仿真二次控制的任务分配方法,通过分析时长计算模式分别为第一时长计算模式、第二时长计算模式和第三时长计算模式下的任务分配给各个线程的方式,充分利用到CPU多核间并行计算的特性,能够以计算得到的优化时间作为处理所有任务的用时,对任务对线程的分配进行优化。
下面对本申请实施例提供的实现电力仿真二次控制的任务分配的装置进行描述,下文描述的实现电力仿真二次控制的任务分配的装置与上文描述的实现电力仿真二次控制的任务分配的方法可相互对应参照。
参见图5,图5为本申请实施例公开的一种实现电力仿真二次控制的任务分配的装置结构示意图。
如图5所示,该装置可以包括:
拓扑结构监测单元11,用于监测电力仿真系统的二次控制系统的任务处理拓扑结构;
任务结构信息确定单元12,用于确定所述任务处理拓扑结构中的任务结构信息;
任务数量统计单元13,用于统计所述任务处理拓扑结构中所有任务的数量;
时长计算模式确定单元14,用于根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
任务处理时间计算单元15,用于根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
任务线程分配单元16,用于确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
可选的,所述任务结构信息确定单元12,包括:
任务支路位置确定单元,用于在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构;
任务层级确定单元,用于根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级;
层级数量统计单元,用于统计所述任务处理拓扑结构中,任务层级的数量;
支路数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量;
支路任务数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量;
数量信息组合单元,用于将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
可选的,所述任务数量统计单元13,包括:
第一任务数量统计子单元,用于统计所述任务处理拓扑结构中每个任务支路的各个任务的数量,为该任务支路的任务量;
第二任务数量统计子单元,用于统计所述任务处理拓扑结构中各个任务支路的任务量,为所述任务处理拓扑结构中所有任务的数量。
可选的,所述时长计算模式确定单元14,包括:
第一时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数为1时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第一时长计算模式;
第二时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数,大于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第二时长计算模式;
第三时长计算模式确定子单元,用于当所述二次控制系统当前用于任务分配处理的线程的个数大于1,且小于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第三时长计算模式。
可选的,所述任务处理时间计算单元15,包括:
第一任务处理时间计算子单元,用于当所述时长计算模式为第一时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000191
其中,tcal-one为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,所述任务处理时间计算单元15,包括:
第二任务处理时间计算子单元,用于当所述时长计算模式为第二时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000192
其中,tcal-inf为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-1-1为处理第i任务层级的首个任务支路的首个任务的时间,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
可选的,所述任务处理时间计算单元15,包括:
约束条件集合确定单元,用于当所述时长计算模式为第三时长计算模式时,确定时间计算约束条件集合,所述时间计算约束条件集合包括第一约束条件、第二约束条件和第三约束条件,所述第一条件为每个任务序列中的各个任务按照预设的任务执行顺序执行,所述第二条件为每个任务序列中的每个任务的开始处理时刻,晚于位于该任务的任务执行顺序之前的任务的结束处理时刻,所述第三条件为所述二次控制系统在当前的各个线程并行处理所述任务处理拓扑结构中的所有任务;
第一线程处理时间确定单元,用于在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务支路中各个任务的时间,作为该任务支路的支路任务时间;
第二线程处理时间确定单元,用于在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务层级中各个任务支路的支路任务时间,作为该任务层级的层级任务时间;
约束任务时间计算单元,用于利用下式计算得到在满足所述时间计算约束条件集合下的,处理所述任务处理拓扑结构中所有任务的时间:
Figure BDA0003731488220000201
其中,tcal-mul为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,Ti-1为通过第一个线程处理第i任务层级的层级任务时间,y为当前向所述二次控制系统分配线程的数量。
可选的,所述任务线程分配单元16,包括:
第一任务线程分配子单元,用于当所述时长计算模式为第一时长计算模式时,将所述任务处理拓扑结构中的所有任务全部分配给一条线程;
第二任务线程分配子单元,用于当所述时长计算模式为第二时长计算模式时,将所述任务处理拓扑结构中的所有任务中的每个任务,逐一分配给每个线程;
第三任务线程分配子单元,用于当所述时长计算模式为第三时长计算模式时,以符合所述时间计算约束条件集合的方式,将所述任务处理拓扑结构中的所有任务分配给各个线程。
本申请实施例提供的电力仿真二次控制的任务分配的装置可应用于电力仿真二次控制的任务分配的设备,如终端:手机、电脑等。可选的,图6示出了电力仿真二次控制的任务分配的设备的硬件结构框图,参照图6,电力仿真二次控制的任务分配的设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
监测电力仿真系统的二次控制系统的任务处理拓扑结构;
确定所述任务处理拓扑结构中的任务结构信息;
统计所述任务处理拓扑结构中所有任务的数量;
根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
监测电力仿真系统的二次控制系统的任务处理拓扑结构;
确定所述任务处理拓扑结构中的任务结构信息;
统计所述任务处理拓扑结构中所有任务的数量;
根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电力仿真二次控制的任务分配方法,其特征在于,包括:
监测电力仿真系统的二次控制系统的任务处理拓扑结构;
确定所述任务处理拓扑结构中的任务结构信息;
统计所述任务处理拓扑结构中所有任务的数量;
根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
2.根据权利要求1所述的方法,其特征在于,确定所述任务处理拓扑结构中的任务结构信息,包括:
在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构;
根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级;
统计所述任务处理拓扑结构中,任务层级的数量;
统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量;
统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量;
将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
3.根据权利要求2所述的方法,其特征在于,统计所述任务处理拓扑结构中所有任务的数量,包括:
统计所述任务处理拓扑结构中每个任务支路的各个任务的数量,为该任务支路的任务量;
统计所述任务处理拓扑结构中各个任务支路的任务量,为所述任务处理拓扑结构中所有任务的数量。
4.根据权利要求2所述的方法,其特征在于,所述根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,包括:
当所述二次控制系统当前用于任务分配处理的线程的个数为1时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第一时长计算模式;
当所述二次控制系统当前用于任务分配处理的线程的个数,大于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第二时长计算模式;
当所述二次控制系统当前用于任务分配处理的线程的个数大于1,且小于所述任务处理拓扑结构中所有任务的数量时,确定所述任务处理拓扑结构中所有任务的时长计算模式为第三时长计算模式。
5.根据权利要求4所述的方法,其特征在于,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第一时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure FDA0003731488210000021
其中,tcal-one为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
6.根据权利要求4所述的方法,其特征在于,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第二时长计算模式时,利用下式计算得到处理所述任务处理拓扑结构中所有任务的时间:
Figure FDA0003731488210000031
其中,tcal-inf为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,m为所述任务处理拓扑结构中每个任务层级中任务支路的数量,k为所述任务处理拓扑结构中每个任务层级中的每个任务支路中任务的数量,ti-1-1为处理第i任务层级的首个任务支路的首个任务的时间,ti-j-q为处理第i任务层级的第j任务支路的第q任务的时间。
7.根据权利要求4所述的方法,其特征在于,根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间,包括:
当所述时长计算模式为第三时长计算模式时,确定时间计算约束条件集合,所述时间计算约束条件集合包括第一约束条件、第二约束条件和第三约束条件,所述第一条件为每个任务序列中的各个任务按照预设的任务执行顺序执行,所述第二条件为每个任务序列中的每个任务的开始处理时刻,晚于位于该任务的任务执行顺序之前的任务的结束处理时刻,所述第三条件为所述二次控制系统在当前的各个线程并行处理所述任务处理拓扑结构中的所有任务;
在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务支路中各个任务的时间,作为该任务支路的支路任务时间;
在满足所述时间计算约束条件集合中的各条件下,将每个线程处理每个任务层级中各个任务支路的支路任务时间,作为该任务层级的层级任务时间;
利用下式计算得到在满足所述时间计算约束条件集合下的,处理所述任务处理拓扑结构中所有任务的时间:
Figure FDA0003731488210000041
其中,tcal-mul为处理所述任务处理拓扑结构中所有任务的时间,n为所述任务处理拓扑结构中任务层级的数量,Ti-1为通过第一个线程处理第i任务层级的层级任务时间,y为当前向所述二次控制系统分配线程的数量。
8.根据权利要求7所述的方法,其特征在于,所述确定每个时长计算模式对应的任务分配给各个线程的方式,包括:
当所述时长计算模式为第一时长计算模式时,将所述任务处理拓扑结构中的所有任务全部分配给一条线程;
当所述时长计算模式为第二时长计算模式时,将所述任务处理拓扑结构中的所有任务中的每个任务,逐一分配给每个线程;
当所述时长计算模式为第三时长计算模式时,以符合所述时间计算约束条件集合的方式,将所述任务处理拓扑结构中的所有任务分配给各个线程。
9.一种电力仿真二次控制的任务分配装置,其特征在于,包括:
拓扑结构监测单元,用于监测电力仿真系统的二次控制系统的任务处理拓扑结构;
任务结构信息确定单元,用于确定所述任务处理拓扑结构中的任务结构信息;
任务数量统计单元,用于统计所述任务处理拓扑结构中所有任务的数量;
时长计算模式确定单元,用于根据第一条件和第二条件,确定所述任务处理拓扑结构中所有任务的时长计算模式,所述第一条件为所述二次控制系统当前用于任务分配处理的线程的个数,所述第二条件为所述二次控制系统当前用于任务分配处理的线程的个数,和所述任务处理拓扑结构中所有任务的数量;
任务处理时间计算单元,用于根据所述任务处理拓扑结构中所有任务对应的时长计算模式,以及所述任务处理拓扑结构中的任务结构信息,计算处理所述任务处理拓扑结构中所有任务的时间;
任务线程分配单元,用于确定每个时长计算模式对应的任务分配给各个线程的方式,以使所述任务处理拓扑结构中的所有任务以所述时间进行处理。
10.根据权利要求9所述的装置,其特征在于,所述任务结构信息确定单元,包括:
任务支路位置确定单元,用于在所述任务处理拓扑结构中,确定各个任务支路中每个任务支路的执行位置,所述任务处理拓扑结构包括至少一个任务支路,各个任务支路通过串行和并行处理的方式构成所述任务处理拓扑结构;
任务层级确定单元,用于根据位于每个任务支路的执行位置之前的任务支路的最大串行数量,确定该任务支路所属的任务层级;
层级数量统计单元,用于统计所述任务处理拓扑结构中,任务层级的数量;
支路数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中任务支路的数量;
支路任务数量统计单元,用于统计所述任务处理拓扑结构中,每个任务层级中的每个任务支路中,任务的数量;
数量信息组合单元,用于将所述任务层级的数量,每个任务层级中任务支路的数量,以及每个任务层级中的每个任务支路中任务的数量,作为所述任务处理拓扑结构中的任务结构信息。
CN202210784715.5A 2022-07-05 2022-07-05 一种电力仿真二次控制的任务分配方法及装置 Active CN115114028B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210784715.5A CN115114028B (zh) 2022-07-05 2022-07-05 一种电力仿真二次控制的任务分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210784715.5A CN115114028B (zh) 2022-07-05 2022-07-05 一种电力仿真二次控制的任务分配方法及装置

Publications (2)

Publication Number Publication Date
CN115114028A true CN115114028A (zh) 2022-09-27
CN115114028B CN115114028B (zh) 2023-04-28

Family

ID=83332390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210784715.5A Active CN115114028B (zh) 2022-07-05 2022-07-05 一种电力仿真二次控制的任务分配方法及装置

Country Status (1)

Country Link
CN (1) CN115114028B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120020367A1 (en) * 2010-05-18 2012-01-26 Lsi Corporation Speculative task reading in a traffic manager of a network processor
US20120102501A1 (en) * 2010-10-25 2012-04-26 Samsung Electronics Co., Ltd. Adaptive queuing methodology for system task management
US20150135183A1 (en) * 2013-11-12 2015-05-14 Oxide Interactive, LLC Method and system of a hierarchical task scheduler for a multi-thread system
CN107491346A (zh) * 2016-06-12 2017-12-19 阿里巴巴集团控股有限公司 一种应用的任务处理方法、装置及系统
CN107643944A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种处理任务的方法和设备
US20190163524A1 (en) * 2017-11-30 2019-05-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing task in smart device
US20200012521A1 (en) * 2017-11-20 2020-01-09 Shanghai Cambricon Information Technology Co., Ltd Task parallel processing method, apparatus and system, storage medium and computer device
CN110795226A (zh) * 2020-01-03 2020-02-14 中科寒武纪科技股份有限公司 利用计算机系统处理任务的方法、电子设备和存储介质
CN111124648A (zh) * 2019-12-24 2020-05-08 宁波三星医疗电气股份有限公司 多任务执行方法和装置
CN111158904A (zh) * 2019-12-14 2020-05-15 珠海金智维信息科技有限公司 一种任务调度方法、装置、服务器及介质
US20200364081A1 (en) * 2019-05-14 2020-11-19 Microsoft Technology Licensing, Llc System and Method for Blocking Path Detection
CN112766907A (zh) * 2021-01-20 2021-05-07 中国工商银行股份有限公司 业务数据的处理方法、装置和服务器
CN113535363A (zh) * 2021-07-28 2021-10-22 重庆度小满优扬科技有限公司 任务调用方法、装置、电子设备及存储介质
CN113835866A (zh) * 2021-10-09 2021-12-24 南方电网数字电网研究院有限公司 多线程任务调度优化方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120020367A1 (en) * 2010-05-18 2012-01-26 Lsi Corporation Speculative task reading in a traffic manager of a network processor
US20120102501A1 (en) * 2010-10-25 2012-04-26 Samsung Electronics Co., Ltd. Adaptive queuing methodology for system task management
US20150135183A1 (en) * 2013-11-12 2015-05-14 Oxide Interactive, LLC Method and system of a hierarchical task scheduler for a multi-thread system
CN107491346A (zh) * 2016-06-12 2017-12-19 阿里巴巴集团控股有限公司 一种应用的任务处理方法、装置及系统
CN107643944A (zh) * 2016-07-21 2018-01-30 阿里巴巴集团控股有限公司 一种处理任务的方法和设备
US20200012521A1 (en) * 2017-11-20 2020-01-09 Shanghai Cambricon Information Technology Co., Ltd Task parallel processing method, apparatus and system, storage medium and computer device
US20190163524A1 (en) * 2017-11-30 2019-05-30 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing task in smart device
US20200364081A1 (en) * 2019-05-14 2020-11-19 Microsoft Technology Licensing, Llc System and Method for Blocking Path Detection
CN111158904A (zh) * 2019-12-14 2020-05-15 珠海金智维信息科技有限公司 一种任务调度方法、装置、服务器及介质
CN111124648A (zh) * 2019-12-24 2020-05-08 宁波三星医疗电气股份有限公司 多任务执行方法和装置
CN110795226A (zh) * 2020-01-03 2020-02-14 中科寒武纪科技股份有限公司 利用计算机系统处理任务的方法、电子设备和存储介质
CN112766907A (zh) * 2021-01-20 2021-05-07 中国工商银行股份有限公司 业务数据的处理方法、装置和服务器
CN113535363A (zh) * 2021-07-28 2021-10-22 重庆度小满优扬科技有限公司 任务调用方法、装置、电子设备及存储介质
CN113835866A (zh) * 2021-10-09 2021-12-24 南方电网数字电网研究院有限公司 多线程任务调度优化方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
PANAGIOTIS MAVRIDIS等: "Using Hierarchical Skills for Optimized Task Assignment in Knowledge-Intensive Crowdsourcing" *
YONGLING FU: "Optimal task assignment for serial-parallel hybrid robots cooperationvia ant colony optimization" *
刘明: "分布式任务调度系统的设计与实现" *
周博等: "SHUM-UCOS:基于统一多任务模型可重构系统的实时操作系统", 《计算机学报》 *

Also Published As

Publication number Publication date
CN115114028B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
CN112272203B (zh) 一种集群业务节点选择方法、系统、终端及存储介质
CN111160617B (zh) 一种电力日负荷预测方法及装置
CN104281510A (zh) 应用程序耗电程度的获得方法、系统及节能方法、系统
CN109327844A (zh) 一种小区扩容方法及装置
CN110221781A (zh) 一种磁盘碎片的制造方法、装置、存储介质及智能终端
CN111178581A (zh) 一种电力需求响应分配方法及装置
CN107480771B (zh) 基于深度学习的激活函数的实现方法及装置
CN114625523A (zh) 一种资源分配方法、装置和计算机可读存储介质
CN114690731A (zh) 一种关联场景推荐方法、装置、存储介质及电子装置
CN113064677A (zh) 应用运行方法及装置、存储介质及电子装置
CN115114028A (zh) 一种电力仿真二次控制的任务分配方法及装置
CN113014663A (zh) 支持跨节点计算任务抗毁接替的任务与资源匹配方法
CN110166964A (zh) 一种待扩容基站的确定方法及装置
CN115329907A (zh) 基于dbscan聚类的电负荷补全方法和系统
CN115729687A (zh) 任务调度方法、装置、计算机设备、存储介质
CN115879031A (zh) 可调节负荷区域负荷分类方法及相关设备
CN115169925A (zh) 一种换电站资源配置方法、装置、电子设备及存储介质
CN114866563A (zh) 扩容方法、装置、系统和存储介质
CN115438007A (zh) 一种文件合并方法、装置、电子设备及介质
CN113656046A (zh) 一种应用部署方法和装置
CN111932122B (zh) 一种配电网防灾物资调配方法、装置、终端及存储介质
CN113806050A (zh) 一种计算资源的处理方法、装置、电子设备及存储介质
CN115344389B (zh) 电磁暂态仿真中计算节点间的通信任务分配方法及装置
CN112540843A (zh) 资源的分配方法、装置、存储设备及存储介质
CN116937577B (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