CN112131087B - 一种模拟软件通信层与业务应用层解耦系统及实现方法 - Google Patents
一种模拟软件通信层与业务应用层解耦系统及实现方法 Download PDFInfo
- Publication number
- CN112131087B CN112131087B CN202010990935.4A CN202010990935A CN112131087B CN 112131087 B CN112131087 B CN 112131087B CN 202010990935 A CN202010990935 A CN 202010990935A CN 112131087 B CN112131087 B CN 112131087B
- Authority
- CN
- China
- Prior art keywords
- message
- protocol
- timer
- data
- interface
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000009472 formulation Methods 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 14
- 230000008878 coupling Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 5
- 238000005859 coupling reaction Methods 0.000 abstract description 5
- 238000004088 simulation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种模拟软件通信层与业务应用层解耦系统及实现方法,通信层接收消息,并将原始信息的字符串传递至消息缓存器,从消息缓存器中读取待发送信息,并发送至其他系统;协议解析模块从通信层获得消息,按照协议编码待发送至其他系统的消息;消息缓存器将原始信息的字符串存入消息缓存器的内存数据库;关联结果发送至业务调度模块,业务调度模块根据获得的消息关联结果,对业务应用层中各应用程序实施调度。本发明采用以数据为中心的解耦方法,降低了模拟软件通信层与业务应用层之间的耦合性,使通信层的开发与业务应用层的开发独立进行,实现了通信层的共用,提高开发资源的使用效率,提高了模拟软件的质量,缩短软件开发周期。
Description
技术领域
本发明涉及一种建模仿真工作领域,还涉及一种解耦系统及实现方法。
背景技术
在仿真系统中存在着大量的模拟软件,如传感器模拟软件、导航设备模拟软件等。这些模拟软件在仿真系统中起着检验设备性能等关键作用。由于设备种类及数量繁多,因此模拟软件中包括大量的业务模型。同时,无论是模拟环境,还是进行策略推演,一个重要特征是以数据为中心,因此,模拟软件的业务模型大都需要通信模块的支持。目前,大部分模拟软件都是采用“业务模型+通信模块”来设计和实现的,即在设计和实现每个业务模型的时均需设计和实现其相应的通信模块。这种方式存在如下问题:开发业务模型的同时都要重复开发几乎功能相同的通信模块,增加模拟软件设计实现的工作量以及测试过程的复杂度。出现这样问题的技术原因是:在软件架构中通信层与业务应用层存在较高的耦合度,使业务模型很难与通信模块解耦。在这种情况下,新模拟软件的开发需要一个较长的周期,造成了较多的资源浪费。
发明内容
为了克服现有技术的不足,本发明提供一种模拟软件通信层与业务应用层解耦方法,可降低模拟软件通信层与业务应用层之间的耦合性,可使通信层的开发与业务应用层的开发独立进行。
一种模拟软件通信层与业务应用层解耦系统,通信层接收来自其他系统的消息,并将原始信息的字符串传递至消息缓存器,从消息缓存器中读取待发送信息,并发送至其他系统;协议解析模块从通信层获得消息,并按照协议解析来自其他系统的消息,按照协议编码待发送至其他系统的消息;消息缓存器将原始信息的字符串存入消息缓存器的内存数据库;定时器与消息关联模块生成定时器、消息与业务应用层中各应用程序的关联结果,并将关联结果发送至业务调度模块;触发器与消息关联模块生成触发信息、消息与业务应用层中各应用程序的关联结果,并将关联结果发送至业务调度模块,业务调度模块根据获得的消息关联结果,对业务应用层中各应用程序实施调度;业务应用层中包含所有业务应用程序,并与消息缓存器进行消息交互。
一种模拟软件通信层与业务应用层解耦系统的实现方法的步骤如下:
步骤一:实现消息缓存器;
消息缓存器包括原始信息(字符串)写接口、原始信息(字符串)读接口、格式化信息存储格式创建接口、格式化信息写接口、格式化信息读接口、格式化信息修改接口、通用句柄创建接口和通用句柄获取接口,所有接口均基于SQLite或Redis内存数据库实现。
·原始信息(字符串)写接口:为业务应用层提供发送数据时存入字符串数据的功能,同时也为通信层提供接收到数据时存入字符串数据的功能;
·原始信息(字符串)读接口:为业务应用层对数据进行处理时提供提取字符串数据的功能,同时也为通信层提供发送数据时提取字符串数据的功能;
·格式化信息存储格式创建接口,依据用户配置的消息格式在程序运行时自动创建存储格式化数据的数据库表,该表用于存储业务应用层所需要的格式化数据;
·格式化信息写接口,为业务应用层提供发送数据时存入格式化数据的功能,同时也为通信层提供接收到数据时存入格式化数据的功能;
·格式化信息读接口,为业务应用层对数据进行处理时提供取格式化数据的功能,同时也为通信层提供发送数据时取格式化数据的功能;
·格式化信息修改接口,为业务应用层与通信层提供数据的修改功能;
·通用句柄创建接口,为业务应用层与通信层创建用于对内存数据库中的数据表进行同步操作的公共句柄;
·通过通用句柄获取接口,是业务应用层与通信层可获得对内存数据库中数据进行同步操作的公共句柄;
步骤二:实现定时器与消息关联模块;
定时器与消息关联模块首先完成模拟软件定时器创建,之后定时器进行注册,注册完毕后定时器与消息进行关联,并关联启动接口,具有通过业务调度模块定时调用业务应用的功能。定时器参数的配置及定时器与业务应用的调度关系,用户可通过配置文件进行动态配置;其中定时器与消息进行关联时,支持用户设置定时器与特定报文的关联关系,关联关系包括定时发送该报文、定时解析该报文和定时处理该报文;
其中,定时器参数配置如表1所示:
表1定时器参数配置表
定时器与消息关联关系配置如表2所示:
表2定时器与消息关联关系配置表
序号 | 字段名称 | 注释 |
1 | News_RecNo | 序号 |
2 | News_ID | 协议中属性的唯一标识,表征协议类型 |
3 | TimerID | 对应表1中定时器ID |
4 | AppID | 应用程序ID |
5 | Remark | 备注 |
定时器周期性的往外部发送数据,设定多个定时器,每个消息设置不同的发送周期;
步骤三:实现触发器与消息关联模块;
触发器与消息关联模块进行触发器的注册,注册完毕后触发器与消息进行关联并关联启动接口;触发器注册和触发器与消息关联过程中的触发器包括实时信息触发器、随机外部事件触发器和界面触发器。
定时调用的业务应用和基于实时信息调用业务应用均可通过动态配置。每个消息具备唯一标识,触发器与消息关联模块通过触发器注册和触发器与消息关联,为每个消息提供处理接口,例如,点击界面按钮发送消息或根据某种条件发送消息,该外部触发直接关联消息,并触发该消息的处理接口。
步骤四:实现业务调度模块;
业务调度模块进行业务应用的注册,注册完毕后启动定时业务应用调度,并进行实时业务调度和外部事件业务调度;业务调度模块完成业务应用的注册和调度功能,为定时调用业务应用、实时调用业务应用和外部事件调用业务应用提供注册、调用接口。业务应用模块中的所有业务应用都将通过该调度模块实现调用。
步骤五:实现协议解析模块;
协议解析模块完成协议制定和协议解析。在系统运行前,根据协议制定表格式制定协议。系统运行中协议解析模块按照已制定的协议对消息进行协议解析。
协议定制表格式如表3所示:
表3协议定制表
其中第一列“Agreement_RecNo”为协议中属性的序号,该序号表示属性的排列顺序。第二列“Agreement_ID”为协议中属性的唯一标识,该标识在通信过程及协议过程起到标记每个属性的作用,每个属性有唯一的编号。第三列“chName”为属性的中文名称,该名称要求具有唯一性,以免解析和处理时造成混乱。第四列“EntityName”为属性的对象名,该名称要求具有唯一性,该名称是软件运行过程中通过动态对象生成机制生成的对象,因此要求唯一性之外,还要求其命名符合特定语言的对象命名规则,例:如果模拟软件使用C++语言开发,则名称需符合C++对象定义规则。第五列“StartIndex”为属性起始字节位置,该字节位置是解析的基本依据,因此需要十分精确。第六列“ByteCount”为属性实际占用的字节数,依据该字节数与上述字节位置,解析过程可精确的解析出属性的位置及数据长度。第六列“Type”为属性类型标识,该类型标识需要依据不同的开发语言进行标识,例如模拟软件是基于C++语言开发的,那么字符型必须为“CHAR”,整型必须为“INT”等。第七列“Rule”为解析时可能用到的特殊要求。第八列“Remark”为每个属性的特殊说明。用户依据该规则,则可在模拟软件实现后,通过数据库表即可制定新的应用层通信协议或者修改原有的通信协议。
协议解析过程中,协议解析模块自动读取协议格式,将待发送消息按照协议格式进行数据编码,将接收到的消息按照协议格式进行数据解码;
步骤六:业务应用层通信参数配置;
业务应用层通信参数的配置方式如表4所示:
表4通信参数配置表
序号 | 字段名称 | 注释 |
1 | Application_RecNo | 序号 |
2 | Application_ID | 标识应用程序ID |
3 | Name | 应用程序名称 |
4 | IP | 应用程序所配置的IP |
5 | Port | 应用程序所配置的端口号 |
6 | IsUseThis | 是否启动 |
7 | Remark | 备注 |
注册应用程序的ID、名称,并设置IP和端口信息。
本发明的有益效果在于针对目前模拟软件架构中通信层与业务应用层耦合度高、开发周期长、测试复杂的问题,本发明提出的一种模拟软件通信层与业务应用层解耦方法,采用以数据为中心的解耦方法,降低了模拟软件通信层与业务应用层之间的耦合性,使通信层的开发与业务应用层的开发独立进行,实现了通信层的共用,提高开发资源的使用效率,提高了模拟软件的质量,缩短软件开发周期。
附图说明
图1为本发明的框架结构图。
图2为本发明消息传输过程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
一种模拟软件通信层与业务应用层解耦系统及实现方法,本发明提出的通信层与业务应用层解耦方法来完成模拟软件的开发,方法框架如图1所示,方法流程如图2所示。该方法包括:消息缓存器、定时器与消息关联模块、触发器与消息关联模块、业务调度模块、协议解析模块。
本发明解决其技术问题所采用的技术方案是:
一种模拟软件通信层与业务应用层解耦系统,通信层接收来自其他系统的消息,并将原始信息(字符串)传递至消息缓存器,从消息缓存器中读取待发送信息,并发送至其他系统;协议解析模块从通信层获得消息,并按照协议解析来自其他系统的消息,按照协议编码待发送至其他系统的消息;消息缓存器将原始信息(字符串)存入消息缓存器的内存数据库;定时器与消息关联模块生成定时器、消息与业务应用层中各应用程序的关联结果,并将关联结果发送至业务调度模块;触发器与消息关联模块生成触发信息、消息与业务应用层中各应用程序的关联结果,并将关联结果发送至业务调度模块,业务调度模块根据获得的消息关联结果,对业务应用层中各应用程序实施调度;业务应用层中包含所有业务应用程序,并与消息缓存器进行消息交互。
步骤一:设计实现消息缓存器。消息缓存器包括原始信息(字符串)写接口、原始信息(字符串)读接口、格式化信息存储格式创建接口、格式化信息写接口、格式化信息度接口、格式化信息修改接口、通用句柄创建接口和通用句柄获取接口。
步骤二:实现定时器与消息关联模块。定时器与消息关联模块包括模拟软件定时器创建过程、定时器注册过程、定时器与消息关联过程、关联启动接口。定时器与消息关联过程支持用户设置定时器与特定报文的关联关系,关联关系包括定时发送该报文、定时解析该报文、定时处理该报文。
步骤三:实现触发器与消息关联模块。触发器与消息关联模块包括触发器注册过程、触发器与消息关联过程、关联启动接口。触发器注册过程、触发器与消息关联过程中的触发器包括实时信息触发器、随机外部事件触发器、界面触发器。
步骤四:实现业务调度模块。业务调度模块包括业务应用的注册过程、定时业务应用调度过程、实时业务调度过程、外部事件业务调度过程。协议制定过程包括定义应用层通信协议方法、定义应用层通信协议的框架、定义应用层通信协议各属性的规范。
步骤五:实现协议解析模块。协议解析模块包括协议制定过程、协议解析过程。
协议制定过程:原始信息(字符串)写接口、原始信息(字符串)读接口、格式化信息存储格式创建接口、格式化信息写接口、格式化信息度接口、格式化信息修改接口、通用句柄创建接口、通用句柄获取接口基于SQLite或Redis内存数据库实现。
协议解析过程:包括自动读取经协议制定过程定义的信息格式、发送指定信息时自动形成具有指定协议格式的信息数据、接收信息时自动将字符串数据依据消息标识和指定的协议格式解析为具有实际意义的数据。
一种模拟软件通信层与业务应用层解耦系统的实现方法的实施例包括如下步骤:
步骤一:实现消息缓存器;
消息缓存器包括原始信息(字符串)写接口、原始信息(字符串)读接口、格式化信息存储格式创建接口、格式化信息写接口、格式化信息读接口、格式化信息修改接口、通用句柄创建接口和通用句柄获取接口,所有接口均基于SQLite或Redis内存数据库实现。
·原始信息(字符串)写接口:为业务应用层提供发送数据时存入字符串数据的功能,同时也为通信层提供接收到数据时存入字符串数据的功能;
·原始信息(字符串)读接口:为业务应用层对数据进行处理时提供提取字符串数据的功能,同时也为通信层提供发送数据时提取字符串数据的功能;
·格式化信息存储格式创建接口,依据用户配置的消息格式在程序运行时自动创建存储格式化数据的数据库表,该表用于存储业务应用层所需要的格式化数据;
·格式化信息写接口,为业务应用层提供发送数据时存入格式化数据的功能,同时也为通信层提供接收到数据时存入格式化数据的功能;
·格式化信息读接口,为业务应用层对数据进行处理时提供取格式化数据的功能,同时也为通信层提供发送数据时取格式化数据的功能;
·格式化信息修改接口,为业务应用层与通信层提供数据的修改功能;
·通用句柄创建接口,为业务应用层与通信层创建用于对内存数据库中的数据表进行同步操作的公共句柄;
·通过通用句柄获取接口,是业务应用层与通信层可获得对内存数据库中数据进行同步操作的公共句柄;
步骤二:实现定时器与消息关联模块;
定时器与消息关联模块首先完成模拟软件定时器创建,之后定时器进行注册,注册完毕后定时器与消息进行关联,并关联启动接口,具有通过业务调度模块定时调用业务应用的功能。定时器参数的配置及定时器与业务应用的调度关系,用户可通过配置文件进行动态配置;其中定时器与消息进行关联时,支持用户设置定时器与特定报文的关联关系,关联关系包括定时发送该报文、定时解析该报文和定时处理该报文;
其中,定时器参数配置如表1所示:
表3定时器参数配置表
序号 | 字段名称 | 注释 |
1 | Timer_RecNo | 序号(作为TimerID外键) |
2 | Timer_ID | 协议中属性的唯一标识,表征协议类型 |
3 | Name | 定时器名称 |
4 | TimeInterval | 定时器时间间隔 |
5 | Remark | 备注 |
定时器与消息关联关系配置如表2所示:
表4定时器与消息关联关系配置表
序号 | 字段名称 | 注释 |
1 | News_RecNo | 序号 |
2 | News_ID | 协议中属性的唯一标识,表征协议类型 |
3 | TimerID | 对应表1中定时器ID |
4 | AppID | 应用程序ID |
5 | Remark | 备注 |
定时器周期性的往外部发送数据,设定多个定时器,每个消息设置不同的发送周期;
步骤三:实现触发器与消息关联模块;
触发器与消息关联模块进行触发器的注册,注册完毕后触发器与消息进行关联并关联启动接口;触发器注册和触发器与消息关联过程中的触发器包括实时信息触发器、随机外部事件触发器和界面触发器。
定时调用的业务应用和基于实时信息调用业务应用均可通过动态配置。每个消息具备唯一标识,触发器与消息关联模块通过触发器注册和触发器与消息关联,为每个消息提供处理接口,例如,点击界面按钮发送消息或根据某种条件发送消息,该外部触发直接关联消息,并触发该消息的处理接口。
步骤四:实现业务调度模块;
业务调度模块进行业务应用的注册,注册完毕后启动定时业务应用调度,并进行实时业务调度和外部事件业务调度;业务调度模块完成业务应用的注册和调度功能,为定时调用业务应用、实时调用业务应用和外部事件调用业务应用提供注册、调用接口。业务应用模块中的所有业务应用都将通过该调度模块实现调用。
步骤五:实现协议解析模块;
协议解析模块完成协议制定和协议解析。在系统运行前,根据协议制定表格式制定协议。系统运行中协议解析模块按照已制定的协议对消息进行协议解析。
协议定制表格式如表3所示:
表3协议定制表
其中第一列“Agreement_RecNo”为协议中属性的序号,该序号表示属性的排列顺序。第二列“Agreement_ID”为协议中属性的唯一标识,该标识在通信过程及协议过程起到标记每个属性的作用,每个属性有唯一的编号。第三列“chName”为属性的中文名称,该名称要求具有唯一性,以免解析和处理时造成混乱。第四列“EntityName”为属性的对象名,该名称要求具有唯一性,该名称是软件运行过程中通过动态对象生成机制生成的对象,因此要求唯一性之外,还要求其命名符合特定语言的对象命名规则,例:如果模拟软件使用C++语言开发,则名称需符合C++对象定义规则。第五列“StartIndex”为属性起始字节位置,该字节位置是解析的基本依据,因此需要十分精确。第六列“ByteCount”为属性实际占用的字节数,依据该字节数与上述字节位置,解析过程可精确的解析出属性的位置及数据长度。第六列“Type”为属性类型标识,该类型标识需要依据不同的开发语言进行标识,例如模拟软件是基于C++语言开发的,那么字符型必须为“CHAR”,整型必须为“INT”等。第七列“Rule”为解析时可能用到的特殊要求。第八列“Remark”为每个属性的特殊说明。用户依据该规则,则可在模拟软件实现后,通过数据库表即可制定新的应用层通信协议或者修改原有的通信协议。
协议解析过程中,协议解析模块自动读取协议格式,将待发送消息按照协议格式进行数据编码,将接收到的消息按照协议格式进行数据解码。
步骤六:业务应用层通信参数配置;
业务应用层通信参数的配置方式如表4所示:
表4通信参数配置表
注册应用程序的ID、名称,并设置IP和端口信息。
本发明是解决了目前模拟软件架构中通信层与业务应用层耦合度高、开发周期长、测试复杂的问题,使模拟软件通信层的开发与业务应用层的开发独立进行,实现了通信层的共用的方法。由于方法中还包括了定时器与消息关联模块、触发器与消息关联模块、业务调度模块、协议解析模块,该方法形成了一种通用的软件框架。框架以数据为中心,用户可通过动态配置快速开发模拟软件。基于此框架,用户只需按照约定开发具有特定业务功能的应用模块和相应的主程序,之后完成相应的配置,并调用统一的初始化接口,即可实现满足特定需求的模拟软件。
Claims (1)
1.一种模拟软件通信层与业务应用层解耦系统的实现方法,其特征在于包括下述步骤:
步骤一:实现消息缓存器;
消息缓存器包括原始信息写接口、原始信息读接口、格式化信息存储格式创建接口、格式化信息写接口、格式化信息读接口、格式化信息修改接口、通用句柄创建接口和通用句柄获取接口,所有接口均基于SQLite或Redis内存数据库实现;
·原始信息写接口:为业务应用层提供发送数据时存入字符串数据的功能,同时也为通信层提供接收到数据时存入字符串数据的功能;
·原始信息读接口:为业务应用层对数据进行处理时提供提取字符串数据的功能,同时也为通信层提供发送数据时提取字符串数据的功能;
·格式化信息存储格式创建接口,依据用户配置的消息格式在程序运行时自动创建存储格式化数据的数据库表,该表用于存储业务应用层所需要的格式化数据;
·格式化信息写接口,为业务应用层提供发送数据时存入格式化数据的功能,同时也为通信层提供接收到数据时存入格式化数据的功能;
·格式化信息读接口,为业务应用层对数据进行处理时提供取格式化数据的功能,同时也为通信层提供发送数据时取格式化数据的功能;
·格式化信息修改接口,为业务应用层与通信层提供数据的修改功能;
·通用句柄创建接口,为业务应用层与通信层创建用于对内存数据库中的数据表进行同步操作的公共句柄;
·通过通用句柄获取接口,是业务应用层与通信层可获得对内存数据库中数据进行同步操作的公共句柄;
步骤二:实现定时器与消息关联模块;
定时器与消息关联模块首先完成模拟软件定时器创建,之后定时器进行注册,注册完毕后定时器与消息进行关联,并关联启动接口,具有通过业务调度模块定时调用业务应用的功能;定时器参数的配置及定时器与业务应用的调度关系,用户通过配置文件进行动态配置;其中定时器与消息进行关联时,支持用户设置定时器与特定报文的关联关系,关联关系包括定时发送该报文、定时解析该报文和定时处理该报文;
其中,定时器参数配置如表1所示:
表1定时器参数配置表
定时器与消息关联关系配置如表2所示:
表2定时器与消息关联关系配置表
定时器周期性的往外部发送数据,设定多个定时器,每个消息设置不同的发送周期;
步骤三:实现触发器与消息关联模块;
触发器与消息关联模块进行触发器的注册,注册完毕后触发器与消息进行关联并关联启动接口;触发器注册和触发器与消息关联过程中的触发器包括实时信息触发器、随机外部事件触发器和界面触发器;
定时调用的业务应用和基于实时信息调用业务应用均可通过动态配置;每个消息具备唯一标识,触发器与消息关联模块通过触发器注册和触发器与消息关联,为每个消息提供处理接口;
步骤四:实现业务调度模块;
业务调度模块进行业务应用的注册,注册完毕后启动定时业务应用调度,并进行实时业务调度和外部事件业务调度;业务调度模块完成业务应用的注册和调度功能,为定时调用业务应用、实时调用业务应用和外部事件调用业务应用提供注册、调用接口;业务应用模块中的所有业务应用都将通过该调度模块实现调用;
步骤五:实现协议解析模块;
协议解析模块完成协议制定和协议解析;在系统运行前,根据协议制定表格式制定协议,系统运行中协议解析模块按照已制定的协议对消息进行协议解析;
协议定制表格式如表3所示:
表3协议定制表
其中第一列“Agreement_RecNo”为协议中属性的序号,该序号表示属性的排列顺序;第二列“Agreement_ID”为协议中属性的唯一标识,该标识在通信过程及协议过程起到标记每个属性的作用,每个属性有唯一的编号;第三列“chName”为属性的中文名称;第四列“EntityName”为属性的对象名,该名称要求具有唯一性,命名符合对象命名规则;第五列“StartIndex”为属性起始字节位置;第六列“ByteCount”为属性实际占用的字节数;第六列“Type”为属性类型标识;第七列“Rule”为解析时可能用到的特殊要求;第八列“Remark”为每个属性的特殊说明;用户依据该规则,在模拟软件实现后,通过数据库表即可制定新的应用层通信协议或者修改原有的通信协议;
协议解析过程中,协议解析模块自动读取协议格式,将待发送消息按照协议格式进行数据编码,将接收到的消息按照协议格式进行数据解码;
步骤六:业务应用层通信参数配置;
业务应用层通信参数的配置方式如表4所示:
表4通信参数配置表
注册应用程序的ID、名称,并设置IP和端口信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010990935.4A CN112131087B (zh) | 2020-09-19 | 2020-09-19 | 一种模拟软件通信层与业务应用层解耦系统及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010990935.4A CN112131087B (zh) | 2020-09-19 | 2020-09-19 | 一种模拟软件通信层与业务应用层解耦系统及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131087A CN112131087A (zh) | 2020-12-25 |
CN112131087B true CN112131087B (zh) | 2024-04-16 |
Family
ID=73841525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010990935.4A Active CN112131087B (zh) | 2020-09-19 | 2020-09-19 | 一种模拟软件通信层与业务应用层解耦系统及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131087B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866032B (zh) * | 2021-02-06 | 2023-10-20 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
CN114666420B (zh) * | 2022-03-29 | 2023-11-14 | 浙江大学 | 一种开放式的多通讯协议组件 |
CN115100840B (zh) * | 2022-05-16 | 2024-01-12 | 深圳绿米联创科技有限公司 | 设备控制方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068243A (zh) * | 2007-04-12 | 2007-11-07 | 北京邮电大学 | 处理网关层与业务层的消息交互系统以及发送、接收方法 |
WO2011116583A1 (zh) * | 2010-03-26 | 2011-09-29 | 中兴通讯股份有限公司 | 一种实现对多协议通信组件管理的方法及装置 |
CN104813713A (zh) * | 2012-10-19 | 2015-07-29 | 三星电子株式会社 | 用于设备对设备通信的ad-hoc/网络辅助的设备发现协议的系统和方法 |
-
2020
- 2020-09-19 CN CN202010990935.4A patent/CN112131087B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068243A (zh) * | 2007-04-12 | 2007-11-07 | 北京邮电大学 | 处理网关层与业务层的消息交互系统以及发送、接收方法 |
WO2011116583A1 (zh) * | 2010-03-26 | 2011-09-29 | 中兴通讯股份有限公司 | 一种实现对多协议通信组件管理的方法及装置 |
CN104813713A (zh) * | 2012-10-19 | 2015-07-29 | 三星电子株式会社 | 用于设备对设备通信的ad-hoc/网络辅助的设备发现协议的系统和方法 |
Non-Patent Citations (1)
Title |
---|
基于组件化指挥信息系统仿真验证技术;徐文元 等;火力与指挥控制;第148-152、156页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112131087A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131087B (zh) | 一种模拟软件通信层与业务应用层解耦系统及实现方法 | |
CN104572122B (zh) | 一种软件应用数据的生成装置及方法 | |
CN108280023B (zh) | 任务执行方法、装置和服务器 | |
CN108874524A (zh) | 大数据分布式任务调度系统 | |
CN111930365A (zh) | 基于Qt的应用程序快速开发框架、开发方法及运行方法 | |
CN111488332B (zh) | 一种ai服务开放中台及方法 | |
CN112363913B (zh) | 一种并行测试任务调度寻优的方法、装置和计算设备 | |
CN109861998B (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN115934855A (zh) | 一种全链路字段级血缘解析方法、系统、设备及存储介质 | |
CN112347192A (zh) | 数据同步方法、装置、平台以及可读介质 | |
CN102833015B (zh) | 一种卫星自动化测试系统公共软件接口确定方法 | |
CN110830567A (zh) | 一种数据传输方法及装置 | |
CN109445384B (zh) | 一种多设备控制系统 | |
CN114238459A (zh) | 一种异构数据源集成管理方法、装置和系统 | |
CN117389700A (zh) | 一种流批一体的数据处理方法、装置、系统及存储介质 | |
US20090327995A1 (en) | Annotation-aided code generation in library-based replay | |
CN116483479A (zh) | 多维度调用接口的方法和装置、设备、介质 | |
CN112883088A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114860228A (zh) | 基于Module Federation技术实现的模块中心化共享系统 | |
CN112445811A (zh) | 基于sql配置的数据服务方法、装置、存储介质及组件 | |
CN112859752B (zh) | 一种激光绣花机远程监控管理系统 | |
CN117349332B (zh) | 一种应用程序编程接口api的生成方法、装置和电子设备 | |
CN108111344B (zh) | 一种可链接式流式数据解析动态流程构建模型实现方法 | |
CN115437615A (zh) | 一种数据上报方法、装置、计算机设备和存储介质 | |
CN107018451B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |