法律状态公告日
法律状态信息
法律状态
2020-06-26
授权
授权
2017-09-12
实质审查的生效 IPC(主分类):G06F17/50 申请日:20170317
实质审查的生效
2017-08-18
公开
公开
技术领域
本发明涉及模型仿真技术领域,具体涉及一种面向服务的大型舰船作战模型集成方法。
背景技术
进入21世纪,高新技术迅猛发展和广泛应用,推动了武器装备的发展和作战方式的演变。在现在高新技术海战条件下,海上大型舰船编队作战对象可能分布在大范围立体空间中,具有快速性、隐蔽性和战术灵活性,编队进行作战时,发起的攻击具备使用不同的武器、从不同的方向、不同的高/深度、分不同的波次等特点。为了实现对大型舰船作战的模拟,已经针对大型舰船作战方针所涉及的武器及传感器研制了相应作战计算机模型及软件,但是,在具体实现时,这些模型和软件往往以各自的武器装备为中心,没有统一的标准和规范进行指导,所采用的程序开发语言也各不相同,所得到系统的开放性、可扩展性和可重用性还存在不足,特别在未来大型舰船作战过程中,各作战单元将组成一个无缝连接的信息网络体系,各级作战人员基于该网络交流作战信息,了解战场态势,指挥实施作战。因此,有必要按照体系作战标准要求构建大型舰船作战模型集成系统。
现阶段大型舰船作战模型集成系统开发还存在以下两大问题,首先是模型间的异构问题,不同的作战系统采用的描述术语集合、设计语言和开发平台间存在显著的差异,数据的统一性没法保证,不同系统的之间无法进行数据共享。而重新开发一个涵盖海军所有装备及兵种并贯穿战略、战役、战术和武器平台的作战系统平台工作量巨大,且不利于现有系统的重用,浪费经费和时间。因此,有必要在保持现有大型舰船作战数据模型的异构型的基础上实现异构模型间的集成。其次是在模型运行过程中,系统往往将所有的作战单元加入模拟的过程,如在非交战情况下的舰艇模拟航行过程中,舰艇模型中的武器单元也保持在运行状态,使得模型的复杂度和所消耗的仿真系统资源很高,造成系统资源浪费,当系统很庞大时,可能会导致消息长度过长、系统无法及时处理、传输延时增加、系统的可信度降低。
发明内容
本发明的目的在于提供一种面向服务的大型舰船作战模型集成方法,以便实现异构分布式环境下舰船作战软件的仿真研究。
为解决上述技术问题,本发明公开的一种面向服务的大型舰船作战模型集成方法,其特征在于,它包括如下步骤:
步骤1:制定服务协议的统一规则,该服务协议的统一规则以XML-Schema的形式进行编写,以便对XML格式的服务描述信息和服务消息协议进行验证,从而对领域内异构数据模型的互操作和调用的交互消息及功能描述确定统一的格式规范;
所述服务协议的统一规则包括:服务实现和服务接口定义标准和多粒度服务触发事件的定义标准,上述服务协议的统一规则形成了服务规则模块;
所述服务实现和服务接口定义标准是利用网络服务描述语言(WSDL,WebServices Description Language)的通用描述对服务实现定义和服务接口定义给出标准,该标准按照舰船作战模型的不同层次对服务的粒度进行划分,划分为三级作战模型,第一级为舰船作战编队,第二级为武器平台,第三为武器和武器传感器,采用上述三级作战模型对服务粒度进行划分,并对每级服务所传输的消息类型划分为静态属性消息、公共态势消息和私有态势消息,静态属性消息、公共态势消息和私有态势消息的区别如下:
所述静态属性消息为用于传输各级作战单元的战术技术指标数据,这些数据不会随着作战情况的变化而发生改变,如各类作战单元的尺寸、武器射程、雷达探测范围等;
所述公共态势消息用于传输各级作战单元公有的态势数据,态势数据包括战场环境的气象情况、敌我双方火力、战损及位置信息,所述公有的态势数据为多层级作战模型中保持一致的消息;
所述私有态势消息用于传输某个作战单元独有的态势数据;
步骤2:依据步骤1制定的服务规则模块,采用服务作为中间件的方法对现有舰船作战模型数据集的应用程序进行封装,形成服务中间件模块,对现有的舰船作战模型数据集中所涉及的各级作战单元按照步骤1中制定的服务实现和服务接口定义标准中的舰船作战模型层次进行划分,并对每个舰船作战模型层次中的每个舰船作战模型定义每个舰船作战模型的静态属性消息、公共态势消息和私有态势消息,并针对所有的舰船作战模型以及所有舰船作战模型的静态属性消息、公共态势消息和私有态势消息编写服务调用接口,形成服务应用,依据服务规则模块编写服务描述,完善服务描述中服务实现和服务接口定义,使得作战集成系统使用者能够使用统一的表示和访问方法获取数据,并在服务描述中添加多粒度服务的切换节点的定义,动态向系统添加或者从系统删除对应的作战模型的服务调用;
步骤3:利用步骤1形成的服务实现和服务接口定义标准和多粒度服务触发事件的定义标准构建的服务规则模块,实现对XML格式的服务描述文件的验证,验证通过后的服务应用发布至注册中心模块;
步骤4:获取舰船作战应用场景客户端中用户所调用的服务,利用所获取服务的URL地址向注册中心模块发起请求,获取服务对应的描述信息,定义用户所调用的服务集合为S={s1,s2,s3…sn},服务所对应的服务描述信息的集合为W={w1,w2,w3…wi,…wn},服务集合S中每一个服务si与服务集合W每一个服务描述wi对应,利用服务si对应的URL地址可在注册中心模块获取相应的服务描述wi;
步骤5:分别读取每个服务描述wi内的每一个多粒度服务触发事件信息,构成多粒度服务触发事件的集合,定义多粒度服务触发事件信息的集合为H={h1,h2,…hj,…hm},H中每一个hj表示一个多粒度服务触发事件信息,定义hj={{QSj},{Fj},{QGj}},其中{QSj}为多粒度服务触发事件信息hj的开始状态,即服务切换前系统运行的服务集合,{Fj}为多粒度服务触发事件信息hj的感知条件,为系统发生服务切换事件对应的临界判定条件构成的集合,{QGj}为多粒度服务触发事件信息hj的结束状态,为添加或者删除服务调用后系统运行的服务集合,利用触发事件集合H构建形成多粒度服务调用的智能体(Agent)模块,其中每一个触发事件hj对应一个相应的智能体,智能体在运行过程中,当感知条件{Fj}得到满足时,智能体将采取添加或者删除服务集合的行为从而使得舰船作战应用场景客户端中的服务集合状态由hj的开始状态{QSj}转换为hj的结束状态{QGj},从而使得战场消息的获取动态变化,当所有智能体构建完毕后,通过动态调用服务的变化对战场环境的各类变化做出相应的反应,上述动态调用服务的变化是指满足感知条件{Fj}的触发条件,反应是指采取添加或者删除服务集合的行为从而使得运行环境中的服务集合状态由hj的开始状态{QSj}转换为hj的结束状态{QGj};
步骤6:当智能体触发事件采取添加或者删除服务集合的行为后,数据一致性维护模块通过协调,添加或者删除的服务引用对应的公共态势消息、静态属性消息和私有态势消息的传输,舰船作战应用场景客户端开始运行时,数据一致性维护模块利用注册中心模块读入所有所引用服务的描述信息W,获取每个服务引用对应的消息描述信息,定义公共态势消息的集合为It,静态属性消息的集合为Is,私有态势消息的集合为Id;
若在服务集合由hj的开始状态{QSj}转换为hj的结束状态{QGj}时发生删除服务引用事件,定义为删除服务引用sd,数据一致性维护模块判定删除服务引用sd中的公共态势消息Itd是否被hj的结束状态{QGj}所运行的作战单元模型对应的服务引用所获取,如果是,则在hj的结束状态{QGj}中调用包含了公共态势消息Itd的除sd外的其它服务引用接口来获取公共态势数据Itd,防止在删除服务引用sd被删除的情况下,其它服务引用无法获取公共态势消息Itd,然后将被删除服务引用sd的接口关闭,被删除服务引用sd对应的静态属性消息Isd和私有态势消息Idd将随着被删除服务引用sd的关闭而不再发送;
若在服务集合由hj的开始状态{QSj}转换为hj的结束状态{QGj}时发生添加服务引用事件,定义为添加服务引用se,数据一致性维护模块首先将添加服务引用se中的静态属性消息Ise发送给服务使用者,由于作战单元模型的静态属性不会发生变化,所以添加服务引用se中的静态属性消息Ise只发送一次,然后根据添加服务引用se中的公共态势消息Ite定义,优先从hj的开始状态{QSj}中的除添加服务引用se外的其它服务引用已获取的消息中得到对应的公共态势消息Ite,如果没有得到对应的公共态势消息Ite,再从添加服务引用se中获取公共态势消息Ite,最后,调用添加服务引用se中的私有态势消息Ide对应接口,获取添加服务引用se的私有态势消息Ide,在添加服务引用se的调用过程中,添加服务引用se的静态属性消息Ise只获取了一次,添加服务引用se的公共态势消息Ise可利用上述已获取得公共态势消息Ite提取,只有添加服务引用se的私有态势消息Ide通过添加服务引用se自身的接口获取;
步骤7:作战模型的使用者通过注册中心模块获取舰船作战模型所对应的服务引用,利用服务引用对应的服务描述文件获取服务调用方法来请求获取舰船作战模型的静态属性消息、公共态势消息和私有态势消息内的数据,服务中间件模块将舰船作战模型的静态属性消息、公共态势消息和私有态势消息内数据的获取请求发送至对应的舰船作战模型,上述请求得到的舰船作战模型的静态属性消息、公共态势消息和私有态势消息内数据从舰船作战模型发送,并通过服务中间件模块中封装的服务转换为统一的数据格式发送至作战运行环境客户端,由于异构的作战模型的数据已经通过服务转换为统一的数据格式,因此各类舰船作战模型间的数据可实现交互,从而完成对异构的作战模型的集成。
与现有的技术相比,本发明具有以下有益效果:
本发明所实现的面向服务的大型舰船作战模型集成系统,在统一规则的约束下对现有的舰船作战模型进行封装,能够使得异构舰船作战模型实现数据共享和交互,从而实现对现有作战模型的重用,避免重新开发一个涵盖海军所有装备及兵种并贯穿战略、战役、战术和武器平台的作战系统平台所造成的经费和时间的浪费。并在作战模型运行过程中,利用Agent技术实现作战模型对应的服务动态加入系统的运行,实现模型间数据传输的性能优化,从而减轻系统负担,提升系统响应速度。
附图说明
图1为本发明的原理框图;
图2为面向服务的大型舰船作战模型集成系统服务描述统一规则结构图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细说明:
本发明设计了面向服务的大型舰船作战模型集成方法。首先,针对现阶段构建现有的异构的大型舰船作战集成系统存在的异构系统难以交互的问题,在不改变原有系统的基础上,采用Web服务构建中间件的形式分别对各个异构系统的调用方法和数据格式采用统一的规则进行封装,形成服务中间件模块,以便作战集成系统使用者能够使用统一的表示和访问方法获取数据,并完成相应的服务调用方法的描述信息,发布至服务注册中心模块,服务使用者可利用注册中心查找并获取各类大型舰船作战数据模型的服务调用方法,利用服务转换的统一的数据格式完成异构作战系统间的集成。其次,针对系统运行过程中可能存在的参与模型过多、复杂性程度高、消息长度过长、系统消耗资源过多的问题,采用基于Agent的多粒度服务方法进行处理,在服务的构建过程中根据装备单元所处的层级构建服务,形成多级服务粒度,并对服务中所发送的消息进行类型划分,针对每种消息类型分别给出对应的传输方法,减小服务调用过程中的消息发送次数和消息的长度,从而减轻系统负担,提升系统响应速度。构建多粒度服务切换的Agent模块,根据每个作战单元中武器或者传感器的状态变化,动态向系统添加或者从系统删除对应的作战模型的服务调用。为了使得Agent模块能够自动生成多粒度服务切换的状态,在构建服务规则时,给出相应标准,服务提供者根据标准给出相应的服务粒度切换条件,并能够被Agent模块所识别。为防止多粒度服务添加或者删除过程中可能存在的数据不一致问题,构建数据一致性维护模块,防止模型运行过程中的并发冲突,确保数据的一致性。
一种面向服务的大型舰船作战模型集成方法,如图1和2所示,具体来说它包括如下步骤:
步骤1:制定服务协议的统一规则,构建服务规则模块,为了防止构建的Web服务之间存在的差异过大,带来新的异构数据集成问题,制定服务协议的统一规则,该服务协议的统一规则以XML-Schema的形式进行编写,以便对XML格式的服务描述信息和服务消息协议进行验证,从而对领域内异构数据模型的互操作和调用的交互消息及功能描述确定统一的格式规范;
上述XML-Schema(可扩展标记语言架构)是一种定义XML文档的合法构建模块,用于定义出现在XML出现的元素、属性、元素的次序、数目及元素的数据类型;利用XML-Schema可对XML文档的整体结构做出定义,并可通过验证来捕捉XML文档中出现的错误,由于Web服务中的消息传输和服务描述均使用XML文档格式,因此可利用XML-Schema格式构建的规则完成对服务合法性的验证;
所述服务协议的统一规则包括:服务实现和服务接口定义标准和多粒度服务触发事件的定义标准,上述服务协议的统一规则形成了服务规则模块;
所述服务实现和服务接口定义标准是利用网络服务描述语言(WSDL,WebServices Description Language)的通用描述对服务实现定义和服务接口定义给出标准,该标准按照舰船作战模型的不同层次对服务的粒度进行划分,划分为三级作战模型,第一级为舰船作战编队,第二级为武器平台(包括舰艇、潜艇、舰载机等),第三为武器和武器传感器(包括导弹、枪炮、雷达、声纳、发动机等),采用上述三级作战模型对服务粒度进行划分,并对每级服务所传输的消息类型划分为静态属性消息、公共态势消息和私有态势消息,静态属性消息、公共态势消息和私有态势消息的区别如下:
所述静态属性消息为用于传输各级作战单元的战术技术指标数据,这些数据不会随着作战情况的变化而发生改变,如各类作战单元的尺寸、武器射程、雷达探测范围等;
所述公共态势消息用于传输各级作战单元公有的态势数据,态势数据包括战场环境的气象情况、敌我双方火力、战损及位置信息,所述公有的态势数据为多层级作战模型中保持一致的消息,例如舰艇与舰艇上的雷达、声纳和武器的位置数据始终保持一致,为公有态势数据;
所述私有态势消息用于传输某个作战单元独有的态势数据,例如发动机的燃油消耗情况,通常情况下为发动机模型的私有态势数据;
多粒度服务触发事件采用基于智能体的触发方法,智能体(智能体Agent是一种能够驻留在某种环境下,持续自主地发挥作用,具备驻留性、反应性、社会性和主动性的计算机实体)利用感应器感应外在或者内在环境的变化,然后使用效应器来做出行为,改变状态,利用该原理,构建服务切换的智能体,根据作战环境的变化,动态的将需要加入的作战单元模型对应的服务引用引入作战环境中进行交互,或者将当前条件下不需要作战单元模型对应的服务应用删除,从而减轻系统负载,提升系统性能;
所述多粒度服务触发事件的定义标准用于对服务切换描述信息编写做出规范,使得服务切换的智能体模块能够自动识别该描述信息自动生成智能体,为此,服务状态切换标准要求每个服务切换描述信息具备开始状态、结束状态、感知条件和行为四部分;其中开始状态为服务切换前系统运行的服务集合,结束状态为添加或者删除服务调用后系统运行的服务集合,感知条件为舰船作战应用场景客户端发生服务切换事件对应的临界判定条件,感知条件中对应的数据必须已经包含在开始状态已运行的服务集合的接口中,行为是在触发感知条件后所采取的删除或者添加服务的行动,使得系统由开始状态转化为结束状态;
步骤2:依据步骤1制定的服务规则模块,采用服务作为中间件的方法对现有舰船作战模型数据集的应用程序进行封装,形成服务中间件模块,对现有的舰船作战模型数据集中所涉及的各级作战单元按照步骤1中制定的服务实现和服务接口定义标准中的舰船作战模型层次进行划分,并对每个舰船作战模型(指代一艘舰船或者一个武器或者是一个传感器,可以与其他模型之间进行数据交互)层次中的每个舰船作战模型定义每个舰船作战模型的静态属性消息、公共态势消息和私有态势消息,并针对所有的舰船作战模型以及所有舰船作战模型的静态属性消息、公共态势消息和私有态势消息编写服务调用接口,形成服务应用,依据服务规则模块编写服务描述,完善服务描述中服务实现和服务接口定义,使得作战集成系统使用者能够使用统一的表示和访问方法获取数据,并在服务描述中添加多粒度服务的切换节点的定义,动态向系统添加或者从系统删除对应的作战模型的服务调用,减小系统资源消耗,提升系统性能;
步骤3:利用规则完成对服务应用描述的验证,并将服务应用发布至注册中心模块,利用步骤1形成的服务实现和服务接口定义标准和多粒度服务触发事件的定义标准构建的服务规则模块,实现对XML格式的服务描述文件的验证,验证通过后的服务应用发布至注册中心模块,方便服务使用者利用注册中心模块完成对所需服务的调用;
步骤4:获取舰船作战应用场景客户端中用户所调用的服务,利用所获取服务的URL(Uniform Resource Locator,统一资源定位符)地址向注册中心模块发起请求,获取服务对应的描述信息,定义用户所调用的服务集合为S={s1,s2,s3…sn},服务所对应的服务描述信息的集合为W={w1,w2,w3…wi,…wn},服务集合S中每一个服务si与服务集合W每一个服务描述wi对应,利用服务si对应的URL地址可在注册中心模块获取相应的服务描述wi;
步骤5:分别读取每个服务描述wi内的每一个多粒度服务触发事件信息,构成多粒度服务触发事件的集合,定义多粒度服务触发事件信息的集合为H={h1,h2,…hj,…hm},H中每一个hj表示一个多粒度服务触发事件信息,定义hj={{QSj},{Fj},{QGj}},其中{QSj}为多粒度服务触发事件信息hj的开始状态,即服务切换前系统运行的服务集合,{Fj}为多粒度服务触发事件信息hj的感知条件,为系统发生服务切换事件对应的临界判定条件构成的集合,{QGj}为多粒度服务触发事件信息hj的结束状态,为添加或者删除服务调用后系统运行的服务集合,利用触发事件集合H构建形成多粒度服务调用的智能体模块,其中每一个触发事件hj对应一个相应的智能体,智能体在运行过程中,当感知条件{Fj}得到满足时,智能体将采取添加或者删除服务集合的行为从而使得舰船作战应用场景客户端中的服务集合状态由hj的开始状态{QSj}转换为hj的结束状态{QGj},从而使得战场消息的获取动态变化,当所有智能体构建完毕后,通过动态调用服务的变化对战场环境的各类变化做出相应的反应,上述动态调用服务的变化是指满足感知条件{Fj}的触发条件,反应是指采取添加或者删除服务集合的行为从而使得运行环境中的服务集合状态由hj的开始状态{QSj}转换为hj的结束状态{QGj};
步骤6:当智能体触发事件采取添加或者删除服务集合的行为后,数据一致性维护模块通过协调,添加或者删除的服务引用对应的公共态势消息、静态属性消息和私有态势消息的传输,使得变化的服务引用的数据在使用较小带宽的情况下得到传输,防止数据传输的遗漏,从而避免防止多粒度服务添加或者删除过程中可能存在的数据不一致问题,舰船作战应用场景客户端开始运行时,数据一致性维护模块利用注册中心模块读入所有所引用服务的描述信息W,获取每个服务引用对应的消息描述信息,定义公共态势消息的集合为It,静态属性消息的集合为Is,私有态势消息的集合为Id;
若在服务集合由hj的开始状态{QSj}转换为hj的结束状态{QGj}时发生删除服务引用事件,定义为删除服务引用sd,数据一致性维护模块判定删除服务引用sd中的公共态势消息Itd是否被hj的结束状态{QGj}所运行的作战单元模型(舰船和舰船上的武器装备及传感器)对应的服务引用所获取,如果是,则在hj的结束状态{QGj}中调用包含了公共态势消息Itd的除sd外的其它服务引用接口来获取公共态势数据Itd,防止在删除服务引用sd被删除的情况下,其它服务引用无法获取公共态势消息Itd,然后将被删除服务引用sd的接口关闭,被删除服务引用sd对应的静态属性消息Isd和私有态势消息Idd将随着被删除服务引用sd的关闭而不再发送;
若在服务集合由hj的开始状态{QSj}转换为hj的结束状态{QGj}时发生添加服务引用事件,定义为添加服务引用se,数据一致性维护模块首先将添加服务引用se中的静态属性消息Ise发送给服务使用者,由于作战单元模型的静态属性不会发生变化,所以添加服务引用se中的静态属性消息Ise只发送一次,然后根据添加服务引用se中的公共态势消息Ite定义,优先从hj的开始状态{QSj}中的除添加服务引用se外的其它服务引用已获取的消息中得到对应的公共态势消息Ite,如果没有得到对应的公共态势消息Ite,再从添加服务引用se中获取公共态势消息Ite,最后,调用添加服务引用se中的私有态势消息Ide对应接口,获取添加服务引用se的私有态势消息Ide,在添加服务引用se的调用过程中,添加服务引用se的静态属性消息Ise只获取了一次,添加服务引用se的公共态势消息Ise可利用上述已获取得公共态势消息Ite提取,只有添加服务引用se的私有态势消息Ide通过添加服务引用se自身的接口获取,从而使得作战仿真的数据发送量大大减小,从而提升作战仿真系统的性能;
步骤7:利用构建完成的各模块(舰船作战模型数据集、服务中间件模块、服务规则模块、注册中心模块、数据一致性维护模块、多粒度服务调用的智能体模块、舰船作战应用场景客户端)完成作舰船作战模型的集成;
作战模型的使用者通过注册中心模块获取舰船作战模型所对应的服务引用,利用服务引用对应的服务描述文件获取服务调用方法来请求获取舰船作战模型的静态属性消息、公共态势消息和私有态势消息内的数据,服务中间件模块将舰船作战模型的静态属性消息、公共态势消息和私有态势消息内数据的获取请求发送至对应的舰船作战模型,上述请求得到的舰船作战模型的静态属性消息、公共态势消息和私有态势消息内数据从舰船作战模型发送,并通过服务中间件模块中封装的服务转换为统一的数据格式发送至作战运行环境客户端,由于异构的作战模型的数据已经通过服务转换为统一的数据格式,因此各类舰船作战模型间的数据可实现交互,从而完成对异构的作战模型的集成,在面向服务的大型舰船作战模型集成系统运行过程中,利用上述的构建的智能体实现多粒度服务的动态切换,从而保证数据的传输效率,提升数据交互的性能。
上述技术方案中,所述注册中心模块提供了查找和发布服务的功能,注册中心利用所述服务中间件模块中的服务提交的服务描述文件生成相应的服务注册实体,服务使用者可通过注册中心模块查找获取所需服务,利用服务注册实体获取服务描述文件,从而得到服务的访问方法,从而调用服务获取数据。
上述技术方案的步骤4~步骤6,构建了多粒度服务调用的智能体模块,获取所调用的服务的描述信息,根据描述信息中的多粒度服务触发事件内容生成智能体,利用智能体对作战环境的改变做出相应的反应,从而添加或者删除作战单元模型对应的服务引用,并构建数据一致性维护模块,在添加或者删除模型的服务引用,对服务消息的一致性进行维护,从而动态控制参与系统运行的模型数量,简化系统的复杂度,减轻系统负担,提升系统的性能。
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
机译: 舰船作战系统多功能控制台显示的人机交互显示方法
机译: 在舰船上进行火力作战期间供应海水的系统和方法
机译: 舰船作战系统目标管理方法