CN105843629B - 一种指挥控制系统软件模拟消息产生方法及装置 - Google Patents
一种指挥控制系统软件模拟消息产生方法及装置 Download PDFInfo
- Publication number
- CN105843629B CN105843629B CN201610248568.4A CN201610248568A CN105843629B CN 105843629 B CN105843629 B CN 105843629B CN 201610248568 A CN201610248568 A CN 201610248568A CN 105843629 B CN105843629 B CN 105843629B
- Authority
- CN
- China
- Prior art keywords
- message
- data
- file
- data structure
- command
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种指挥控制系统软件模拟消息产生方法及装置,通过界面配置的方式生成数据结构文件和数据文件,定义统一消息数据发送接口,根据工程项目的底层传输技术体制实现消息发送功能;通过程序加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。本发明可应用于指挥控制系统软件和系统集成联试过程,使集成联试人员能够快速地搭建模拟消息产生环境,按需要产生和修改拟消息数据;集成联试人员只需要关注消息数据本身,包括其结构、数值、发送时序、发送周期,不需要在具体的编码细节花费过多的人力和时间资源,提高了集成联试的效率。
Description
技术领域
本发明属于指挥控制系统软件和系统集成领域,具体涉及一种指挥控制系统软件模拟消息产生方法和装置。
背景技术
指挥控制系统是基于信息技术,辅助指挥员实施指挥与控制的一种技术系统。指挥控制系统软件除必须的系统软件外,还有完成战术功能的应用软件:包括情报处理、文电处理、显示控制、辅助决策、武器控制、数据通信、图形处理、战勤保障等。
指挥控制系统各分系统内各软件之间以及各个分系统之间通过收发消息进行信息交互,这些信息绝大部分是结构化的消息。在指挥控制系统软件配置项、分系统内、系统间各级集成联试实施中,如果缺少外部软件或系统实物,需要通过软件模拟方式按照既定接口产生模拟消息,以驱动被试软件或系统运行,验证接口、功能、性能的正确性。
目前,在指挥系统集成联试过程中,采用根据接口协议通过手动编写和修改程序代码的方法产生模拟消息。这种方法的缺点是:每一个消息的产生都需要编写相应的代码,消息数据结构、数值、发送时序、发送周期的需求变化均需要通过修改程序代码来实现,导致了联试效率的低下。
发明内容
发明目的:针对指挥控制信息系统软件和系统集成联试过程中,需要手动编写和修改代码产生驱动程序运行的外部模拟消息,效率低下的问题,本发明目的在于提供一种通用的,消息数据结构、数值、发送时序、发送周期可配置的模拟消息产生方法和装置,以快速构件模拟消息产生环境,方便联试人员修改模拟数据,提高联试效率。
技术方案:为实现上述发明目的,本发明采用的技术方案是:
一种指挥控制系统软件模拟消息产生方法,包括如下步骤:
(1)定义数据结构文件和数据文件,其中数据结构文件定义消息的结构信息,数据文件定义多个消息的组合关系、消息成员数值、消息发送时序、消息定时发送周期;
(2)定义统一消息数据发送接口,根据工程项目的底层传输技术体制实现消息发送功能;
(3)通过界面配置的方式生成数据结构文件和数据文件;
(4)通过程序加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。
作为优选,消息数据结构文件使用XML文件格式记录消息数据结构体的结构信息,所述消息数据结构体由多个基本数据类型或数据结构体组成。
作为优选,数据结构文件的根节点定义消息的ID以及结构体分配字节数;每一个消息数据结构的成员作为根节点的一个节点元素,其属性包括数据类型、考虑过结构体内存对齐后该类型所占内存字节数、该类型元素数量和考虑过结构体内存对齐后该元素在父结构体节点内存中的起始位置。
作为优选,消息数据文件包含消息个数和每个消息具体数据信息,消息具体数据信息包含:消息数据结构文件名称,时延,定时周期,消息数据结构内存大小和消息数据。
作为优选,将消息数据发送接口的实现封装为可调用的动态库,由上层消息生成和发送程序调用,屏蔽了底层传输技术体制的差异。
作为优选,所述步骤(4)中具体包括:
(4.1)通过程序加载数据文件;
(4.2)读取数据文件中的消息数量;
(4.3)根据具体消息的数据结构文件名称,解析出数据结构信息,分配内存加载消息数据;
(4.4)根据消息的先后顺序以及时延、定时周期,调用发送接口发送消息。
一种实现如上所述模拟消息产生方法的指挥控制系统软件模拟消息产生装置,包括:数据结构文件,以XML文件格式定义各消息的结构信息;数据文件,以二进制文件格式定义多个消息的组合关系、消息成员数值、消息发送时序、消息定时发送周期;消息数据发送接口,实现消息的发送功能;界面配置单元,通过界面配置的方式生成数据结构文件和数据文件;以及消息发送单元,加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。
有益效果:本发明可应用于指挥控制系统软件和系统集成联试过程,使集成联试人员能够快速地搭建模拟消息产生环境,按需要产生和修改拟消息数据;集成联试人员只需要关注消息数据本身,包括其结构、数值、发送时序、发送周期,不需要在具体的编码细节花费过多的人力和时间资源,提高了集成联试的效率;通过定义统一消息发送接口,屏蔽了底层传输技术体制带来的差异,增加了消息模拟软件、数据文件的复用性。
附图说明
图1是本发明实施例的模拟消息产生方法总体流程示意图。
图2是本发明实施例中消息数据结构文件示意图。
图3是本发明实施例中消息数据文件组成示意图。
图4是本发明实施例中消息结构编辑界面示意图。
图5是本发明实施例中消息数据编辑界面示意图。
图6是本发明实施例中消息数据读取与发送流程示意图。
图7是本发明实施例的模拟消息产生装置模块结构示意图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明实施例公开的一种指挥控制系统软件模拟消息产生方
法,首先定义消息的数据结构文件和数据文件,接着定义并实现统一消息数据发送接口,然后通过界面配置的方式生成数据结构文件和数据文件,最后通过程序加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。具体的实现步骤如下:
步骤1:定义消息数据结构文件。
一个消息数据结构体由多个基本数据类型或数据结构体组成,将消息数据结构体的结构信息使用XML文件格式记录。
数据结构定义文件的根节点定义了消息的ID以及结构体内存对齐字节数。
根节点属性包括:
属性 | 含义 | 取值范围 |
消息ID | 消息的唯一标识 | 36字节长度字符串 |
结构体内存对齐字节数 | 结构体内存对齐字节数 | 1,2,4,8 |
消息数据结构成员按照组成结构关系作为根节点的子孙节点,每一个节点的属性包括:
其中“类型”、“数组长度”由用户通过界面手动输入,“内存大小”可由程序根据结构体元素类型和结构调用sizeof函数自动计算,“偏移值”可由程序根据结构体元素类型和结构调用offset函数自动计算。
消息数据结构文件示意参见图2。
步骤2:定义数据文件。
数据文件使用二进制文件形式,其内容包含消息个数和每个消息具体数据信息,消息具体信息包含:消息数据结构文件名称,时延,定时周期,消息数据结构内存大小,消息数据,具体含义如下:
数据文件组成参见图3。
步骤3:数据发送接口定义与实现。
步骤3-1:数据发送接口定义
定义形参如下:
定义返回值如下:
返回值 | 类型 | 含义 |
发送结果 | 布尔型 | 发送是否成功 |
步骤3-2:数据发送接口实现
根据指挥系统具体采用的技术体制,按照数据发送接口实现发送功能,并编译为可调用动态库。
步骤4:通过配置界面生成数据结构文件、数据文件。
步骤4-1:生成数据结构文件
如图4所示,用户在界面输入消息数据结构各元素名称、数据类型;程序根据消息数据结构和结构体内存对齐字节数自动计算数据结构体内各元素的内存大小、偏移值,输入完成后进行保存操作,程序自动生成数据结构文件。
步骤4-2:生成数据文件
用户根据需要按发送顺序加载消息数据结构文件,程序在界面显示数据结构内容;如图5所示,用户可在界面设置每一个消息的时延、定时周期、结构体字段具体数值,设置完成后进行保存操作,由程序自动生成为数据文件并保存。
步骤5:加载数据文件,调用定时和发送接口发送。具体流程如图6所示,主要包括如下步骤:
步骤5-1:程序加载数据文件
步骤5-2:读取消息数量
步骤5-3:读取每一个消息具体信息
a)读取消息数据结构文件名称,据此读取消息数据文件,解析出数据结构信息
b)读取消息时延、定时周期
c)读取消息数据结构内存大小,分配动态内存
d)根据步骤5-3a)中消息数据结构各个元素的类型、内存大小、数组长度、起始位置到内存中读取数据并赋值
步骤5-4:根据每一消息的先后顺序以及时延、定时周期,调用发送接口发送消息。如果时延值大于0,则在上一个消息发送后设定一次性定时器,定时时间到达后发送本消息;如果定时周期值大于0,设定周期性定时器,定时时间到达后发送本消息。
如图7所示,本发明实施例公开的一种指挥控制系统软件模拟消息产生装置,主要包括数据结构文件、数据文件、消息数据发送接口、界面配置单元和消息发送单元。其中数据结构文件定义了消息的结构信息,数据文件定义了多个消息的组合关系、消息成员数值、消息发送时序、消息定时发送周期。消息数据发送接口由技术人员根据工程项目的底层传输技术体制实现消息发送功能,封装为可调用的动态库。用户可通过界面配置单元配置生成数据结构文件和数据文件,消息发送单元通过程序加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。
Claims (5)
1.一种指挥控制系统软件模拟消息产生方法,其特征在于:包括如下步骤:
(1)定义数据结构文件和数据文件,其中数据结构文件定义消息的结构信息,消息数据结构文件使用XML文件格式记录消息数据结构体的结构信息,所述消息数据结构体由多个基本数据类型或数据结构体组成;数据文件定义多个消息的组合关系、消息成员数值、消息发送时序、消息定时发送周期;消息数据文件包含消息个数和每个消息具体数据信息,消息具体数据信息包含:消息数据结构文件名称,时延,定时周期,消息数据结构内存大小和消息数据;
(2)定义统一消息数据发送接口,根据工程项目的底层传输技术体制实现消息发送功能;
(3)通过界面配置的方式生成数据结构文件和数据文件;
(4)通过程序加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。
2.根据权利要求1所述的一种指挥控制系统软件模拟消息产生方法,其特征在于:数据结构文件的根节点定义消息的ID以及结构体分配字节数;每一个消息数据结构的成员作为根节点的一个节点元素,其属性包括数据类型、考虑过结构体内存对齐后该类型所占内存字节数、该类型元素数量和考虑过结构体内存对齐后该元素在父结构体节点内存中的起始位置。
3.根据权利要求1所述的一种指挥控制系统软件模拟消息产生方法,其特征在于:将消息数据发送接口的实现封装为可调用的动态库,由上层消息生成和发送程序调用,屏蔽了底层传输技术体制的差异。
4.根据权利要求1所述的一种指挥控制系统软件模拟消息产生方法,其特征在于:所述步骤(4)中具体包括:
(4.1)通过程序加载数据文件;
(4.2)读取数据文件中的消息数量;
(4.3)根据具体消息的数据结构文件名称,解析出数据结构信息,分配内存加载消息数据;
(4.4)根据消息的先后顺序以及时延、定时周期,调用发送接口发送消息。
5.一种实现如权利要求1-4任一项所述模拟消息产生方法的指挥控制系统软件模拟消息产生装置,其特征在于,包括:
数据结构文件,以XML文件格式定义各消息的结构信息;
数据文件,以二进制文件格式定义多个消息的组合关系、消息成员数值、消息发送时序、消息定时发送周期;
消息数据发送接口,实现消息的发送功能;
界面配置单元,通过界面配置的方式生成数据结构文件和数据文件;
以及消息发送单元,加载数据结构文件和数据文件,调用数据发送接口,实现模拟消息的自动化发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610248568.4A CN105843629B (zh) | 2016-04-20 | 2016-04-20 | 一种指挥控制系统软件模拟消息产生方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610248568.4A CN105843629B (zh) | 2016-04-20 | 2016-04-20 | 一种指挥控制系统软件模拟消息产生方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843629A CN105843629A (zh) | 2016-08-10 |
CN105843629B true CN105843629B (zh) | 2019-03-12 |
Family
ID=56589948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610248568.4A Active CN105843629B (zh) | 2016-04-20 | 2016-04-20 | 一种指挥控制系统软件模拟消息产生方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843629B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885492B (zh) * | 2017-11-14 | 2021-03-12 | 中国银行股份有限公司 | 主机中数据结构动态生成的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300699C (zh) * | 2004-09-23 | 2007-02-14 | 上海交通大学 | 并行程序可视化调试方法 |
US8291432B2 (en) * | 2010-12-01 | 2012-10-16 | International Business Machines Corporation | Providing invocation context to IMS service provider applications |
CN102036275B (zh) * | 2010-12-08 | 2014-12-17 | 大唐移动通信设备有限公司 | 一种模拟器和消息处理方法 |
CN102868691B (zh) * | 2012-09-13 | 2015-09-09 | 北京佰能电气技术有限公司 | 一种全配置化数据通信方法及系统 |
CN103116500A (zh) * | 2013-03-11 | 2013-05-22 | 北京首钢自动化信息技术有限公司 | 一种结构体定义和结构输出的方法及装置 |
-
2016
- 2016-04-20 CN CN201610248568.4A patent/CN105843629B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105843629A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679488B (zh) | 一种流程定制开发平台及流程定制开发方法 | |
CN110516325A (zh) | 一种cae自动化仿真分析方法和系统 | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
US20160291564A1 (en) | Programmable logic controller, data collection apparatus, database access method, and database access program | |
CN109445820A (zh) | 一种智能合约升级方法、系统、设备及计算机存储介质 | |
CN106484520A (zh) | 一种基于数据血缘关系的智能调度方法及系统 | |
CN105573774B (zh) | 应用程序参数管理及配置方法 | |
CN103761262A (zh) | 基于syslogd的重复日志控制方法 | |
CN104268346A (zh) | 一种基于对象类交互图的仿真应用可视化集成环境的实现方法 | |
CN105843629B (zh) | 一种指挥控制系统软件模拟消息产生方法及装置 | |
CN109741774A (zh) | 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法 | |
CN105843991A (zh) | 模型级hla仿真成员组合系统及方法 | |
CN103810018A (zh) | 一种组件化、参数化仿真模型的设计方法 | |
CN104090995B (zh) | 一种ABAQUS轮胎模型中rebar单元网格的自动生成方法 | |
CN107368404A (zh) | 一种审计管理方法及系统 | |
CN110941422A (zh) | 代码自动生成方法、代码生成器及可读存储介质 | |
JP2021533517A (ja) | データ処理モジュール、データ処理システム、およびデータ処理方法 | |
CN106896956B (zh) | 一种“道”系统下多点触控的实现方法 | |
CN106445477A (zh) | 一种基于面向对象程序架构拓展用户自定义模型库的方法 | |
CN108829490A (zh) | 一种云平台重置KVM虚拟化平台Linux虚拟机密码的方法 | |
CN109243650B (zh) | 基于fpga的具有组态功能的核电站安全级仪控系统及方法 | |
CN103793281A (zh) | 一种计算密集型仿真任务的负载均衡方法 | |
CN108958856A (zh) | 移动终端的控件管理方法、存储介质、电子设备及系统 | |
CN103279354B (zh) | 设计规则检查文件的自动化产生方法及产生器 | |
CN106844605A (zh) | 批量数据逻辑处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |