一种用于三维模拟系统的任务控制系统的制作方法

文档序号:9887354阅读:190来源:国知局
一种用于三维模拟系统的任务控制系统的制作方法
【技术领域】
[0001]本发明涉及三维模拟引擎设计领域,具体的说是一种用于三维模拟系统的任务控制系统。
【背景技术】
[0002]预案是模拟系统演练过程中非常重要元素,模拟演练是以预案为基础的,因此,预案也是模拟系统剧本的来源和依据。预案一般是由一个或多个事故问题,多个连贯的问题解决方案组成的,将预案分解就得到了一些问题和问题解决方案,这些就构成了模拟系统剧本的雏形。
[0003]将分解得到的事故问题和问题解决方案都以“任务”为代名词,事故问题作为系统的场景任务,问题解决方案则作为系统的演练任务。场景任务是指发生安全事故事件,演练任务是指各个应急救援部门所做的救援行动。此外,演练任务又可以细分出具体的行为。如“某商场一楼发生火灾,消防队前去消防灭火。”,按照以上方式分解后,“商场一楼发生火灾”是场景任务,“消防队员灭火”是演练任务,演练任务又可以分解成消防员到达现场、消防员营救受伤群众、消防员喷水灭火等简单的作业。
[0004]根据以上分解方式,就可以将任何应急预案分解成剧本中的场景任务和演练任务,这些任务又可以分解出更细的可执行的作业。剧本、任务、作业相互关联层层递进,就形成了模拟演练系统的任务模型。
[0005]实地应急演练的地图是固定不变的,但是对于模拟演练,可以在同一地图上设计出多种安全事故和多种应急救援方案。因此,在模拟演练系统中,一个地图可以对应不同的剧本,但是剧本一旦确定后,这个剧本就只能适应于该地图,因此,剧本和地图之间就形成了一种多对一的关系。一个剧本是由多个任务的协调配合完成的,剧本和任务之间是一种一对多的关系。任务可以分解出多个作业,所以,任务和作业也是一对多关系,模拟演练系统的任务模型如图1所示。
[0006]作业是模拟演练系统中最小执行单元,当某个非用户控制角色接受到一个作业就可以直接执行。作业只存在于模拟演练的推演情况,在非推演时不存在作业。一个任务可以包换任意多个作业。作业的属性包括:作业唯一标识(作业编码)、作业触发条件、作业执行角色、技能、技能参数、目标角色、作业目标、异常重发次数。
[0007]作业触发条件包括时间触发和前置作业触发两种,触发条件可以是一个时间点或者某一作业触发或完成后的一个时间段,也可以是任意多个前置作业状态;作业目标是作业技能的属性状态或者被执行角色的状态。异常重复次数是作业发布异常时重发的次数。
[0008]任务是演练部门演练内容的描述,多项关联任务组成了模拟演练的整个流程。任务是非推演情况的最小执行单元。一个演练剧本包含多个任务。任务属性包括:任务唯一标识(任务编码)、任务触发条件、任务执行部门、任务目标、作业集、任务发布状态、任务完成状态、异常重发次数。
[0009]作业集是该任务下属的作业ID和作业状态的集合。任务触发类型有时间触发和前置任务触发两种,因此,任务的触发条件可以是某一个时间点或任意多个前置任务状态;任务目标是某一个或多个场景角色达到的状态;异常重发次数是任务发布异常时重新发布的次数。
[0010]剧本是应急演练过程的标准化描述,剧本包括两部分,一部分是剧本信息部分,描述了剧本编号、剧本名称、剧本的基本描述、剧本类型、剧本关联地图名称等信息,其中剧本类型包括推演和非推演两种;另一部分是任务和作业的集合。剧本来源于应急预案,是由安全管理部门技术人员根据应急预案通过剧本编辑器编制的。
[0011]任务控制问题必须满足以下约定:
[0012]1.非推演类型剧本是用于训练参演人员,检验实际操练的熟练程度和协调配合能力的,因此除了场景任务的作业外,剧本其他部分最低只要求到任务级别,可以没有演练任务的作业部分。
[0013]2.推演类型剧本是用于检验预案的合理性的,要求没有人为操作干预就能从头到尾执行完成的,因此,剧本的所有的任务都必须解析成可执行的作业。
[0014]基于任务和作业的定义及其以上两个约定,任务控制就是将具有相互关联关系的任务或作业,按照关联先后顺序解析、调度、发布,根据反馈调整后再调度、在发布的循环过程,不同任务和作业之间可以并发控制。

【发明内容】

[0015]针对于三维模拟系统任务管理的技术需求,本发明主要提供一种用于三维模拟系统的任务控制系统。
[0016]本发明为实现上述目的所采用的技术方案是:一种用于三维模拟系统的任务控制系统,包括:
[0017]剧本加载模块,用于读取剧本文件到内存,接收地图选中消息,以备剧本解析模块调用将任务作业文件和地图选中消息;
[0018]剧本解析模块,用于将加载到内存的剧本文件通过约定好的解析规则解析出任务和作业,将每个任务下相对应的作业填充到任务的作业集属性部分,以建立任务与作业之间的关联关系;
[0019]任务控制模块,用于对剧本解析模块解析出的任务进行任务发布和任务状态更新;
[0020]简单作业解析模块,用于对剧本解析模块解析出的作业进行作业发布和作业状态更新;
[0021]任务状态监听模块,用于监控任务的作业集的作业状态是否完成和任务目标集属性是否为空;
[0022]任务状态同步模块,用于接收任务状态同步消息,更新任务状态,筛选任务,通过任务状态消息广播到各个客户端的任务显示组件;
[0023]任务发布模块,用于任务消息的处理以及已发布任务的发布状态回写;
[0024]作业发布模块,用于检验简单作业队列中作业的触发条件是否满足,将发布成功后的作业发布状态回写到简单作业发布队列,发布失败后重新发布。
[0025]所述剧本解析模块解析出的任务放到任务队列中,作业放到作业预发布队列中。
[0026]所述任务控制模块根据任务触发条件判断任务是否可发布,如果是,则将该任务以消息的形式经过消息管理器传递到客户端任务显示组件,并将发布出去任务发布状态属性置于“已发布”状态。
[0027]所述触发条件分为条件触发和时间触发,每个任务都有一个或多个触发条件,当所有触发条件都满足后能触发当前任务。
[0028]所述任务控制模块接收来自作业执行器反馈回来的作业执行结果消息和角色状态变更消息,根据作业执行结果消息更新任务的完成状态属性和任务下作业集中作业的状态,根据角色状态变更消息检查任务目标集属性中描述的角色状态是否达到,如果达到,立即将该条目标状态删除,反之则不。
[0029]所述任务状态监听模块如果发现任务的作业集中所有作业状态都完成则修改任务状态为完成,如果发现任务目标集属性为空则修改任务状态为完成
[0030]所述任务状态同步模块执行以下步骤:
[0031]接收来自服务器任务控制器组件发来的消息,分解出消息体中任务实例,遍历任务列表,检查该任务是否在任务队列中存在;
[0032]如果存在,则更新任务队列中的任务;如果不存在,则将该任务添加到任务列表并更新状态;
[0033]筛选状态改变的任务放到任务发布缓冲队列中;
[0034]将待发布显示的任务发送到本地客户端的GUI组件,并将发布出去的任务从缓冲队列中移除。
[0035]所述任务发布模块在接收到客户端发来任务请求消息后时,按任务ID的顺序依次将任务提出并封装成任务消息,发送到客户端任务显示组件。
[0036]本发明具有以下优点及有益效果:利用剧本管理与任务控制相结合的方式对于模拟系统的角色进行控制,对任务并发、任务协同以及任务监听控制等进行协同管理,提高了三维模拟系统的运行效率,并且防止了任务管理机制的混乱。
【附图说明】
[0037]图1为模拟系统的任务模型图;
[0038]图2为任务控制系统的功能用例图;
[0039]图3为本发明方法中动态置信度匹配算法示意图;
[0040]图4为剧本解析运行逻辑图;
[0041]图5为剧本解析工作流程图;
[0042]图6为任务控制模型图;
[0043]图7为任务状态同步运行逻辑图;
[0044]图8为任务状态同
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1