CN111199079A - 仿真任务调度方法和装置 - Google Patents

仿真任务调度方法和装置 Download PDF

Info

Publication number
CN111199079A
CN111199079A CN201811277421.3A CN201811277421A CN111199079A CN 111199079 A CN111199079 A CN 111199079A CN 201811277421 A CN201811277421 A CN 201811277421A CN 111199079 A CN111199079 A CN 111199079A
Authority
CN
China
Prior art keywords
simulation
task
operator
simulation task
calling
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
CN201811277421.3A
Other languages
English (en)
Other versions
CN111199079B (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.)
Apollo Intelligent Technology Beijing Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811277421.3A priority Critical patent/CN111199079B/zh
Publication of CN111199079A publication Critical patent/CN111199079A/zh
Application granted granted Critical
Publication of CN111199079B publication Critical patent/CN111199079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提出一种仿真任务调度方法和装置。该方法包括:接收针对多个仿真场景的各仿真任务发起请求;采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。本发明实施例采用流水线调度方式生成仿真任务,并控制多个仿真场景的多个仿真任务的生成与执行,适用于大批量的仿真场景运行需求,能够在分布式***上高效率的执行仿真任务,并可以保证计算结果的事务性。

Description

仿真任务调度方法和装置
技术领域
本发明涉及计算机仿真技术领域,尤其涉及一种仿真任务调度方法和装置。
背景技术
仿真业务需要执行很多场景的仿真并行计算。在web前端选择了仿真场景集合之后,在web后端生成仿真计算的任务。任务并行运行完后,对仿真结果进行汇聚统计。后端计算任务未保证计算任务的事务性支持。单任务执行时才大一统的计算节点完成全部的单场景仿真模拟计算。
后端各类计算任务的事务性无法保证,部分计算故障时会带来整体任务的正确性下降。如果需要执行的仿真计算的任务较多,存在仿真计算速度慢,效率低等问题。仿真业务场景下存在频繁的新需求,现有方案的扩展支持成本较大,灵活性不足。
发明内容
本发明实施例提供一种仿真任务调度方法和装置,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种仿真任务调度方法,包括:
接收针对多个仿真场景的各仿真任务发起请求;
采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;
向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
在一种实施方式中,接收针对多个仿真场景的各仿真任务发起请求,包括:
接收前端FE通过超文本传输协议HTTP接口发送的各所述仿真任务发起请求;或
接收各客户端利用远程过程调用RPC接口发送的各所述仿真任务发起请求。
在一种实施方式中,采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务,包括:
调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识;
调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件;
调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
在一种实施方式中,向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务,包括:
调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的所述仿真任务。
在一种实施方式中,该方法还包括:
调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分;
调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告;
调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
在一种实施方式中,该方法还包括:
与任务管理器TM的垃圾回收、控制面板、分布式文件***、哨塔与各算子进行信息交互。
第二方面,本发明实施例提供了一种仿真任务调度装置,包括:
接收模块,用于接收针对多个仿真场景的各仿真任务发起请求;
生成模块,用于采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;
发送模块,用于向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
在一种实施方式中,所述接收模块还用于:
接收前端FE通过超文本传输协议HTTP接口发送的各所述仿真任务发起请求;或
接收各客户端利用远程过程调用RPC接口发送的各所述仿真任务发起请求。
在一种实施方式中,所述生成模块包括:
定序子模块,用于调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识;
文件转移子模块,用于调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件;
任务划分子模块,用于调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
在一种实施方式中,所述发送模块包括:
任务发起子模块,用于调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的所述仿真任务。
在一种实施方式中,该装置还包括:
跟踪模块,用于调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分;
报告模块,用于调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告;
统计模块,用于调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
在一种实施方式中,该装置还包括:
任务管理模块,用于与任务管理器TM的垃圾回收、控制面板、分布式文件***、哨塔与各算子进行信息交互。
第三方面,本发明实施例提供了一种仿真任务调度装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述装置的结构中包括处理器和存储器,所述存储器用于存储支持所述装置执行上述仿真任务调度方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述装置还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储仿真任务调度装置所用的计算机软件指令,其包括用于执行上述仿真任务调度方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:采用流水线调度方式生成仿真任务,并控制多个仿真场景的多个仿真任务的生成与执行,适用于大批量的仿真场景运行需求,能够在分布式***上高效率的执行仿真任务,并可以保证计算结果的事务性。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的仿真任务调度方法的流程图。
图2示出根据本发明实施例的仿真任务调度方法的流程图。
图3示出根据本发明实施例的仿真任务调度方法的一种应用示例的示意图。
图4示出根据本发明实施例的仿真任务调度方法的另一种应用示例的示意图。
图5示出根据本发明实施例的仿真任务调度装置的结构框图。
图6示出根据本发明实施例的仿真任务调度装置的结构框图。
图7示出根据本发明实施例的仿真任务调度装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的仿真任务调度方法的流程图。如图1所示,该仿真任务调度方法可以包括判定过程,具体可以包括:
步骤S11、接收针对多个仿真场景的各仿真任务发起请求。
步骤S12、采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务。
步骤S13、向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
在一种示例中,流水线调度方式可以采用任务管理器(TM,Task Master)的流水线调度框架来实现。基于TM的事务性语义可以支持正好一次(exactly once)的语义。在分布式***中,exactly once可以理解为,对于一条消息(message),接收器(receiver)只收到一次。流水线调度框架支持水平扩展,可以在上万台服务器上同时执行数十万的仿真场景。
在本发明实施例中,服务器可以收到来自前端(FE,Front End)或客户端(Client)的仿真任务发起请求。每个仿真任务发起请求可以对应一个仿真场景。服务器可以同时收到多个仿真场景的多个仿真任务发起请求。仿真任务发起请求中可以包括该仿真任务的基础信息例如元数据(meta)等信息。服务器可以对meta信息进行补全,生成可以执行的仿真任务。然后再将这些仿真任务发给相关的各客户端。由这些客户端分别执行这些任务,实现批量地执行仿真任务。
采用流水线调度方式生成仿真任务,并控制多个仿真场景的多个仿真任务的生成与执行,适用于大批量的仿真场景运行需求,能够在分布式***上高效率的执行仿真任务,并可以保证计算结果的事务性。
在一种实施方式中,如图2所示,步骤S11包括:
步骤S21、接收Web端(FE)通过超文本传输协议(HTTP,Hyper Text TransferProtocol)接口发送的各仿真任务发起请求;或
步骤S22、接收各客户端利用远程过程调用(RPC,Remote Procedure Call)接口发送的各仿真任务发起请求。其中,客户端可以采用命令行的方式向服务器发送仿真任务发起请求。
在一种实施方式中,步骤S12包括:
步骤S23、调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识。
步骤S24、调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件。
步骤S25、调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
在生成仿真任务的过程中,服务器可以调用定序算子设定多个仿真任务的批量执行顺序,并生成这些仿真任务的标识。然后调用文件转移算子,利用这些仿真任务的标识在文件***中查找这些仿真任务对应的文件。查找到后,利用这些文件对应地填充这些仿真任务的meta等信息,生成多个可执行的仿真任务。
在一种实施方式中,步骤S13包括:
步骤S26、调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的仿真任务。
服务器可以调用任务发起算子,根据各仿真任务的标识,确定执行仿真任务的客户端,向客户端对应地发送仿真任务。客户端中具有仿真执行单元。仿真执行单元的任务引擎,可以执行收到的仿真任务。服务器可以同时向多个客户端批量地发送若干的仿真任务。客户端收到这些仿真任务后,可以根据之前确定的执行顺序,执行这些仿真任务。多个客户端可以并行执行任务,因此能够批量地执行仿真任务。
在一种实施方式中,该方法还包括:
步骤S27、调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分。
步骤S28、调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告。
步骤S29、调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
服务器可以调用跟踪算子跟踪各仿真任务的执行状态和结果,并按照各任务的批次标识划分。例如,同一批执行的任务具有相同的批次标识。报告算子可以按照批次标识汇聚各任务的执行状态,得到该批次任务的执行状态的报告。此外,统计引擎算子可对整个***中,所有批次的任务进行统计,或者指定的多个批次的任务进行统计,得到统计结果。将这些统计结果存入例如MySql、Palo、UDW等分布式数据库中。
在一种实施方式中,该方法还包括:与TM的垃圾回收器、控制面板、分布式文件***、哨塔与各算子进行信息交互。
在任务生成与执行过程中,利用TM与各算子进行交互。例如,调用文件转移算子获取执行任务所需的文件时,可以从TM的分布式文件***例如AFS中获取文件。生成与执行任务的过程中所产生的垃圾文件,可以通过垃圾回收器(Deleter)进行释放。此外,TM的控制面板(Dashboard)可以查看TM内任务的详细状态,以及对任务和Meta配置进行增删改查等具体操作。TM的哨塔可以实时的统计汇聚流水线的各类状态指标。
在一种应用示例中,参见图3,采用流水线框架批量执行仿真任务的过程,可以包括以下步骤:
1、在web前端(FE)的页面中可以一次性选择若干场景,基于HTTP协议向后端发送批量的仿真任务发起请求,每个请求对应一个场景。仿真任务发起请求中包括轻量级的元数据(meta)等信息。
2、web后端例如服务器收到各仿真任务发起请求后。调用仿真算子对请求进行参数信息和配置信息的补全,为每个请求生成对应的仿真任务。
3、调用仿真算子向用户的仿真执行单元发送仿真任务,完成仿真计算。
4、调用仿真算子跟踪对各仿真任务的计算结果,对计算结果进行汇聚。
5、在整个过程中,采用Task Master(TM)流水线调度框架,基于TM的事务性语义来支持exactly once的语义。同时也可以做到灵活的拆解(例如新增、删除、扩展)流水线的各个阶段。
采用本发明实施例的仿真任务调度方法,可以建立满足正好一次(exactly once)语义的分布式流式计算框架,并基于此框架实施仿真计算业务逻辑。分布式流式计算框架支持水平扩展,可以在上万台服务器上同时执行数十万的仿真场景。
参见图4,为一种批量任务的业务计算过程的示例,具体原理如下:
首先,在前端(dreamland FE)通过HTTP接口向服务器(SimCtrlService)发送仿真任务发起请求。或者在客户端(SimCtrl Client)利用命令行向SimCtrlService发送仿真任务发起请求。
其次,服务器调用对应的仿真算子进行仿真计算。仿真算子可以包括例如定序(Arbiter)算子、文件转移(FileTransfer)算子、任务划分(Splitter)算子、任务发起(Launcher)算子、跟踪(Tracker)算子、报告(Reporter)算子、统计引擎(StatEngine)算子等。
具体地,Arbiter算子可以设定执行批量任务的顺序,定义各任务的标识(ID,identification),保证整体计算的事务性。FileTransfer算子获取执行任务所需的文件。Splitter算子利用文件对meta等信息进行填充,得到可以执行的任务。然后,Laucher算子向用户仿真的执行单元例如:RosClient、Normandy、Matrix等发起任务。通过这些单元的任务引擎(Task Engine)执行任务。Tracker算子跟踪任务的执行状态和结果,将任务按照批次ID划分(Sharding by regression_ID)。然后Reporter算子按照批次ID进行汇聚,得到报告。StatEngine算子对全***的任务执行状态进行统计后,存入分布式数据库例如MySql、Palo、UDW等。
其中,数据库(MongoDB)中存储的meta和结果等信息。在后端任务的执行过程中,TM的各个模块例如垃圾回收器(Deleter)、控制面板(Dashboard)、分布式文件***(例如AFS)、哨塔与各算子进行信息交互,辅助各算子完成仿真过程。
在图4中,SimCtrlService具有半工作(worker)半服务(service)的特点。SimCtrlService调用的各算子属于工作模块。dreamland FE、SimCtrlService、用户仿真的执行单元、MongoDB以及分布式数据库等属于外部模块。TM属于流式的基础服务框架。其中,从SimCtrlService到Arbiter,以及各算子之间采用TM接口,用实线箭头标识。从Splitter、Reporter到MongoDB,MongoDB到SimCtrlService,从StatEngine到分布式数据库,采用数据库接口,用虚线箭头表示。从Laucher到执行单元,从执行单元到Tracker,采用平台即服务(PaaS,Platform-as-a-Service)接口,用点划线箭头表示。
图5示出根据本发明实施例的仿真任务调度装置的结构框图。如图5所示,该装置可以包括:
接收模块51,用于接收针对多个仿真场景的各仿真任务发起请求;
生成模块52,用于采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;
发送模块53,用于向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
在一种实施方式中,所述接收模块51还用于:
接收前端FE通过超文本传输协议HTTP接口发送的各所述仿真任务发起请求;或
接收各客户端利用远程过程调用RPC接口发送的各所述仿真任务发起请求。
在一种实施方式中,如图6所示,所述生成模块52包括:
定序子模块61,用于调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识;
文件转移子模块62,用于调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件;
任务划分子模块63,用于调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
在一种实施方式中,所述发送模块53包括:
任务发起子模块64,用于调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的所述仿真任务。
在一种实施方式中,该装置还包括:
跟踪模块65,用于调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分;
报告模块66,用于调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告;
统计模块67,用于调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
在一种实施方式中,该装置还包括:
任务管理模块68,用于与任务管理器TM的垃圾回收、控制面板、分布式文件***、哨塔与各算子进行信息交互。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图7示出根据本发明实施例的仿真任务调度装置的结构框图。如图7所示,该装置包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的事务提交方法。所述存储器910和处理器920的数量可以为一个或多个。
该装置还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种仿真任务调度方法,其特征在于,包括:
接收针对多个仿真场景的各仿真任务发起请求;
采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;
向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
2.根据权利要求1所述的方法,其特征在于,接收针对多个仿真场景的各仿真任务发起请求,包括:
接收前端FE通过超文本传输协议HTTP接口发送的各所述仿真任务发起请求;或
接收各客户端利用远程过程调用RPC接口发送的各所述仿真任务发起请求。
3.根据权利要求1所述的方法,其特征在于,采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务,包括:
调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识;
调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件;
调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
4.根据权利要求1所述的方法,其特征在于,向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务,包括:
调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的所述仿真任务。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分;
调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告;
调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
6.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
与任务管理器TM的垃圾回收、控制面板、分布式文件***、哨塔与各算子进行信息交互。
7.一种仿真任务调度装置,其特征在于,包括:
接收模块,用于接收针对多个仿真场景的各仿真任务发起请求;
生成模块,用于采用流水线调度方式调用各仿真算子针对各所述仿真任务发起请求,生成各仿真任务;
发送模块,用于向各客户端的仿真执行单元发送各所述仿真任务,以批量地执行各所述仿真任务。
8.根据权利要求7所述的装置,其特征在于,所述接收模块还用于:
接收前端FE通过超文本传输协议HTTP接口发送的各所述仿真任务发起请求;或
接收各客户端利用远程过程调用RPC接口发送的各所述仿真任务发起请求。
9.根据权利要求7所述的装置,其特征在于,所述生成模块包括:
定序子模块,用于调用定序算子设定各所述仿真任务的批量执行顺序,并生成各所述仿真任务的标识;
文件转移子模块,用于调用文件转移算子利用各所述仿真任务的标识获取执行各所述仿真任务所需的文件;
任务划分子模块,用于调用任务划分算子利用所述文件对各所述仿真任务的元数据信息进行填充,得到可执行的各所述仿真任务。
10.根据权利要求7所述的装置,其特征在于,所述发送模块包括:
任务发起子模块,用于调用任务发起算子向各客户端的仿真执行单元发起各所述仿真任务,通过各仿真执行单元的任务引擎执行收到的所述仿真任务。
11.根据权利要求7至10中任一项所述的装置,其特征在于,还包括:
跟踪模块,用于调用跟踪算子跟踪各所述仿真任务的执行状态和结果,将各所述仿真任务按照批次标识划分;
报告模块,用于调用报告算子按照批次标识对各所述仿真任务的执行状态进行汇聚,得到各所述仿真任务的执行状态的报告;
统计模块,用于调用统计引擎算子对全***的各仿真任务的执行状态进行统计后,存入分布式数据库。
12.根据权利要求7至10中任一项所述的装置,其特征在于,还包括:
任务管理模块,用于与任务管理器TM的垃圾回收、控制面板、分布式文件***、哨塔与各算子进行信息交互。
13.一种仿真任务调度装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
CN201811277421.3A 2018-10-30 2018-10-30 仿真任务调度方法和装置 Active CN111199079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811277421.3A CN111199079B (zh) 2018-10-30 2018-10-30 仿真任务调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811277421.3A CN111199079B (zh) 2018-10-30 2018-10-30 仿真任务调度方法和装置

Publications (2)

Publication Number Publication Date
CN111199079A true CN111199079A (zh) 2020-05-26
CN111199079B CN111199079B (zh) 2023-12-19

Family

ID=70745885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811277421.3A Active CN111199079B (zh) 2018-10-30 2018-10-30 仿真任务调度方法和装置

Country Status (1)

Country Link
CN (1) CN111199079B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639734A (zh) * 2020-12-10 2021-04-09 华为技术有限公司 仿真任务调度方法、执行方法、仿真实现方法及装置
CN113254157A (zh) * 2021-06-04 2021-08-13 北京世冠金洋科技发展有限公司 批量仿真控制方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070129929A1 (en) * 2005-12-02 2007-06-07 Hiroaki Nakamura System simulation using multi-tasking computer code
CN201298233Y (zh) * 2008-10-22 2009-08-26 西北电网有限公司 一种电力***电磁暂态过程的分布式仿真装置
CN102393710A (zh) * 2011-10-28 2012-03-28 无锡市星亿涂装环保设备有限公司 一种生产线行车的多任务生产仿真调度控制***及其方法
US20130144907A1 (en) * 2011-12-06 2013-06-06 Microsoft Corporation Metadata extraction pipeline
CN105843189A (zh) * 2016-04-09 2016-08-10 北京化工大学 一种用于半导体生产线基于简化仿真模型的高效调度规则选择方法
US20170305448A1 (en) * 2014-11-20 2017-10-26 Hitachi, Ltd. Degradation estimation system of railroad ground equipment and method thereof
US20180189431A1 (en) * 2017-12-18 2018-07-05 Hosni I. Adra Dynamic simulation models constantly adapting to the changes of complex systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070129929A1 (en) * 2005-12-02 2007-06-07 Hiroaki Nakamura System simulation using multi-tasking computer code
CN201298233Y (zh) * 2008-10-22 2009-08-26 西北电网有限公司 一种电力***电磁暂态过程的分布式仿真装置
CN102393710A (zh) * 2011-10-28 2012-03-28 无锡市星亿涂装环保设备有限公司 一种生产线行车的多任务生产仿真调度控制***及其方法
US20130144907A1 (en) * 2011-12-06 2013-06-06 Microsoft Corporation Metadata extraction pipeline
US20170305448A1 (en) * 2014-11-20 2017-10-26 Hitachi, Ltd. Degradation estimation system of railroad ground equipment and method thereof
CN105843189A (zh) * 2016-04-09 2016-08-10 北京化工大学 一种用于半导体生产线基于简化仿真模型的高效调度规则选择方法
US20180189431A1 (en) * 2017-12-18 2018-07-05 Hosni I. Adra Dynamic simulation models constantly adapting to the changes of complex systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639734A (zh) * 2020-12-10 2021-04-09 华为技术有限公司 仿真任务调度方法、执行方法、仿真实现方法及装置
CN113254157A (zh) * 2021-06-04 2021-08-13 北京世冠金洋科技发展有限公司 批量仿真控制方法、装置及电子设备
CN113254157B (zh) * 2021-06-04 2023-07-28 北京世冠金洋科技发展有限公司 批量仿真控制方法、装置及电子设备

Also Published As

Publication number Publication date
CN111199079B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN110290189B (zh) 一种容器集群管理方法、装置及***
CN105357296B (zh) 一种Docker云平台下弹性缓存***
US20200328984A1 (en) Method and apparatus for allocating resource
CN108170612B (zh) 一种自动化测试方法、装置及服务器
CN111262726B (zh) 一种配置信息更新方法、装置及计算机可读存储介质
CN110830234B (zh) 一种用户流量分配方法及装置
CN111897638A (zh) 分布式任务调度方法及***
CN110310139B (zh) 数据投放方法以及数据投放引擎装置
CN111277639A (zh) 一种保持数据一致性的方法和装置
CN106598692A (zh) 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器
CN109117252A (zh) 基于容器的任务处理的方法、***及容器集群管理***
CN111199079A (zh) 仿真任务调度方法和装置
CN110890987A (zh) 自动创建集群的方法、装置、设备和***
CN111694639B (zh) 进程容器地址的更新方法、装置和电子设备
CN113268308A (zh) 信息处理方法、装置以及存储介质
CN110069406A (zh) 自动触发的tpc-ds测试方法以及***
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN112612496A (zh) 智能合约操作管理方法、装置、设备和计算机存储介质
CN108334410A (zh) 一种分布式应用程序客户端轻量化方法以及计算机设备
CN116974874A (zh) 数据库的测试方法、装置、电子设备及可读存储介质
CN110609707B (zh) 在线数据处理***生成方法、装置及设备
CN114244714B (zh) 域名配置管理方法、装置及***、计算机可读存储介质
CN103425707A (zh) 数据分析方法和装置
CN114205354B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211014

Address after: 105 / F, building 1, No. 10, Shangdi 10th Street, Haidian District, Beijing 100085

Applicant after: Apollo Intelligent Technology (Beijing) Co.,Ltd.

Address before: 100085 Baidu Building, 10 Shangdi Tenth Street, Haidian District, Beijing

Applicant before: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant