一种基于ICD的服务构建方法与流程

文档序号:23653378发布日期:2021-01-15 13:50阅读:393来源:国知局
一种基于ICD的服务构建方法与流程

本发明属于飞行控制仿真测试技术领域,具体涉及一种基于icd的服务构建方法。



背景技术:

icd是一种接口控制文件,icd用于说明系统内部及系统与系统间的接口信息情况,记录了包括信号类型、信号值、信号偏移量、传输频率、传输路径等各类信息。在一个复杂的航空系统或测试系统中,总是由非常多的系统部件组成,这些系统部件相互间需要进行及时的数据交换来协调各系统行为特性。

而基于icd的服务构建方法,可以根据指定的icd描述文件,将数据封装成需要的二进制结构,从而进行不同系统各个部件之间的通信。



技术实现要素:

本发明的目的是提供一种基于icd的服务构建方法,构建出一个可以跨语言、跨系统、跨硬件部件的通信服务。

本发明所采用的技术方案是,一种基于icd的服务构建方法,具体按照以下步骤实施:

步骤1,将仿真测试系统的部件子系统进行划分;

步骤2,由每个部件子系统提供icd接口配置文件,用来描述部件具体通讯的数据结构;

步骤3,在服务中心用icd接口配置文件创建通讯服务,用icd接口配置文件构建数据传输模型、定义数据封装拆解的规则,传入数据封包解包引擎;

步骤4,选择服务的通讯介质和传输协议,配置传输子系统的网络地址,按照传输模型中每一个字段、类型、大小、附加参数对数据结构生产序列化或者反序列化代码,集合成处理字典;

步骤5,配置通讯服务和其他子系统通讯服务的逻辑关系;

步骤6,启动服务开始收发数据;

步骤7,所有服务按照步骤1-6进行数据的收发,其通信过程会随着子系统逻辑关系和配置的业务的复杂程度变得复杂,并在系统中加入成功环节和失败环节;

步骤8,成功环节,在系统通信成功,会对数据进行数据记录;

步骤9,失败环节,在系统通信失败,首先记录失败节点位置,然后按照位置和失败数据到失败库里匹配失败原因,按照现有失败信息到问题解决方法库里查找解决方案,将失败原因和解决方法呈现给用户,最后恢复失败环境处理下一次的通讯。

本发明的特点还在于,

步骤2中,icd接口配置文件包含的数据元素有:icdds,icdds是由多个icd组成的数据块;icd块,描述一个icd的内容,包含下面类型的节点:group分组,描述一组内容fixvalue,描述不可改变的固定数字;fixlength,描述固定长度的数字,有符号或无符号;bitfield,描述一组bit的组合,占用完整的字节,包含bit和ignorebit;bit用于描述按位计算的值,为无符号整数;ignorebit占位值,不进行解析或显示;fixstring,描述固定长度的字符;fixreal,描述固定长度的浮点数;fixrealarray,描述一组固定长度的浮点数;fixlengtharray,描述一组固定长度的数字,有符号或无符号;ignorevalue,不进行解析或显示。

步骤3中,构建数据传输模型为:将icd接口配置文件解析成json格式的数据结构;通过数据绑定的方式将每个icd节点需要的数据进行赋值;

步骤3中,数据封装拆解规则为:根据每个icd节点的属性设置来对数据进行封装拆解,每个icd节点都代表着不同的意义,可以表示出对应数据的数据类型,通过icd节点的offset属性来确定数据读写的偏移量,通过length属性确定数据的读写长度。

步骤5中,具体为:通过配置传输子系统的网络地址构建子系统关联拓扑,拼装子系统关系网络;注册数据触发的事件:数据转发、数据运算、数据转换、以及根据触发的事件找到步骤3中构建的对应的数据传输模型以及数据的封装拆解规则进行数据包二次封装,对流经数据进行预处理;最后按需要配置业务脚本。

步骤6中,具体为:对于接收服务通信服务按照传输介质和传输协议,从以太网端口、串口接口或反射内存的地址获取数据,数据传入解包引擎进行智能识别获取对应处理字典、解包,然后按照服务配置模块逻辑进行业务运算,得到成品数据,再触发注册的事件;对于发送服务,先按照配置模块逻辑组成发送数据,然后将数据传入封包引擎进行智能识别获取对应处理字典、封包,然后按照服务配置模块逻辑进行业务运算,得到传输数据,按照传输介质和传输协议,往以太网端口、串口接口或反射内存的地址设置数据,最后再触发注册的事件。

步骤8中,具体是:接收到数据收发成功信号,数据记录器会从封包解包引擎获取字典数据记录到数据文件中,同时将数据抛入到数据可视化监控的模块内,数据可视化模块将数据源码或图形形式展现到监控界面;数据记录文件在后期进行数据回放。

本发明的有益效果是:本发明提供一种标准的仿真系统部件连接和数据交互的方法,具备可扩展的部件接入能力,统一协调系统数据流转,自动记录部件的传输数据,提供一致性的监控方法;解决了仿真系统中数据交互关系复杂的问题,让多个功能子系统通信交联、问题发现更加简单,高效共享信息、实时数据协同,从而能构建出部件更多、架构更复杂的仿真测试系统,解决复杂的仿真测试系统研制困难、失败率高的问题。

附图说明

图1是本发明一种基于icd的服务构建方法的流程图;

图2是本发明一种基于icd的服务构建方法中无人机集群战场仿真推演系统的结构图;

图3是本发明一种基于icd的服务构建方法中icd接口配置文件组成;

图4是本发明一种基于icd的服务构建方法中服务中心工作流程图。

具体实施方式

下面结合具体实施方式和附图对本发明进行详细说明。

本发明一种基于icd的服务构建方法,如图1所示,具体按照以下步骤实施:

步骤1,将仿真测试系统的部件子系统进行划分;

根据系统使用的不同场景将仿真测试系统中涉及到的子系统进行划分,例如,地面站、航路规划系统、指挥控制系统等不同子系统的划分;如图2所示,其为划分出的无人机集群战场仿真推演系统;

步骤2,由每个部件子系统提供icd接口配置文件,用来描述部件具体通讯的数据结构,如图3所示,icd接口配置文件包含的数据元素有:

icdds,icdds是由多个icd组成的数据块;

icd块,描述一个icd的内容,包含下面类型的节点:

group分组,描述一组内容fixvalue(固定值),描述不可改变的固定数字;

fixlength,描述固定长度的数字,有符号或无符号;

bitfield(比特组),描述一组bit的组合,占用完整的字节,包含bit和ignorebit;bit用于描述按位计算的值,为无符号整数;ignorebit占位值,不进行解析或显示。

fixstring(字符串),描述固定长度的字符;

fixreal(小数),描述固定长度的浮点数;

fixrealarray(整数数组),描述一组固定长度的浮点数;

fixlengtharray(小数数组),描述一组固定长度的数字,有符号或无符号;

ignorevalue(忽略值),不进行解析或显示;当自动计算偏移量和长度时,可以使用占位,完成自动计算。

步骤3,在服务中心用icd接口配置文件创建通讯服务,具体的服务工程树新建一个服务节点:选择器icd接口配置文件,用icd接口配置文件构建数据传输模型、定义数据封装拆解的规则,传入数据封包解包引擎;

构建数据传输模型:将icd接口配置文件解析成json格式的数据结构;通过数据绑定的方式将每个icd节点需要的数据进行赋值;

数据封装拆解规则:根据每个icd节点的属性设置来对数据进行封装拆解,每个icd节点都代表着不同的意义,可以表示出对应数据的数据类型,可以通过icd节点的offset属性来确定数据读写的偏移量,通过length属性确定数据的读写长度等,这些既定的属性和icd节点代表的不同数据类型描述的就是数据的封装拆解规则。

步骤4,选择服务的通讯介质和传输协议,配置传输子系统的网络地址,根据传输模型配置流转数据的封包/解包方法,具体是按照传输模型中每一个字段、类型、大小、附加参数对数据结构生产序列化或者反序列化代码,集合成处理字典;

传输协议为tcp、udp、http、串口、反射内存网中的任意一种;

步骤5,配置通讯服务和其他子系统通讯服务的逻辑关系,通过配置传输子系统的网络地址构建子系统关联拓扑,拼装子系统关系网络;注册数据触发的事件:数据转发、数据运算、数据转换、以及根据触发的事件找到步骤3中构建好的对应的数据传输模型以及数据的封装拆解规则进行数据包二次封装,对流经数据进行预处理;最后按需要配置业务脚本:配置业务脚本包括python脚本和javascript脚本,业务脚本用来处理复杂的业务逻辑,具体可以配置收发数据之前、收发数据后、收发失败等多个阶段需要执行的业务逻辑;具体的配置方法是在收发数据之前、收发数据后、收发数据失败等阶段函数中书写要执行的业务逻辑代码。

步骤6,启动服务开始收发数据,对于接收服务通信服务按照传输介质和传输协议,从以太网端口、串口接口或反射内存的地址获取数据,数据传入解包引擎进行智能识别获取对应处理字典、解包,然后按照服务配置模块逻辑进行业务运算,得到成品数据,再触发注册的事件;对于发送服务,先按照配置模块逻辑组成发送数据,然后将数据传入封包引擎进行智能识别获取对应处理字典、封包,然后按照服务配置模块逻辑进行业务运算,得到传输数据,按照传输介质和传输协议,往以太网端口、串口接口或反射内存的地址设置数据,最后再触发注册的事件;

步骤7,服务中心的所有服务按照1-6步骤过程进行数据的收发,如图4所示,构造了整个仿真系统的核心通信流程,其通信过程会随着子系统逻辑关系和配置的业务的复杂程度变得复杂,系统设计了2个关键的环节进行把控:成功环节、失败环节;

步骤8,成功环节,在系统通信成功,会对数据进行数据记录,具体的是:接收到数据收发成功信号,数据记录器会从封包解包引擎获取字典数据记录到数据文件中,同时将数据抛入到数据可视化监控的模块内,数据可视化模块可以将数据源码或图形形式展现到监控界面;数据记录文件可以在后期进行数据回放;

步骤9,失败环节,在系统通信失败,首先记录失败节点位置,然后按照位置和失败数据到失败库里匹配失败原因,按照现有失败信息到问题解决方法库里查找解决方案,将失败原因和解决方法呈现给用户,最后恢复失败环境处理下一次的通讯。

本发明一种基于icd的服务构建方法,按照此方法在开发复杂仿真测试系统中只需要进行服务配置和编写少量脚本代码就可以创建一个部件通讯服务,关系并连接其他软硬件子系统,解决了以往系统开发经常遇到的一连串的通讯故障问题,为减轻系统开发工作量、系统研制复杂度做出巨大贡献。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1