CN112131087B - 一种模拟软件通信层与业务应用层解耦***及实现方法 - Google Patents

一种模拟软件通信层与业务应用层解耦***及实现方法 Download PDF

Info

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
Application number
CN202010990935.4A
Other languages
English (en)
Other versions
CN112131087A (zh
Inventor
韩春雷
孙健
李斌
任磊
王枭雄
吴静
王志佳
许文腾
张艳
李晓斌
时维科
朱惠民
赵磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UNIT 92941 OF PLA
CETC 20 Research Institute
Original Assignee
UNIT 92941 OF PLA
CETC 20 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by UNIT 92941 OF PLA, CETC 20 Research Institute filed Critical UNIT 92941 OF PLA
Priority to CN202010990935.4A priority Critical patent/CN112131087B/zh
Publication of CN112131087A publication Critical patent/CN112131087A/zh
Application granted granted Critical
Publication of CN112131087B publication Critical patent/CN112131087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging 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定时器参数配置表
序号 字段名称 注释 1 Timer_RecNo 序号(作为TimerID外键) 2 Timer_ID 协议中属性的唯一标识,表征协议类型 3 Name 定时器名称 4 TimeInterval 定时器时间间隔 5 Remark 备注
定时器与消息关联关系配置如表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”为属性的对象名,该名称要求具有唯一性,命名符合对象命名规则;第五列“StartIndex”为属性起始字节位置;第六列“ByteCount”为属性实际占用的字节数;第六列“Type”为属性类型标识;第七列“Rule”为解析时可能用到的特殊要求;第八列“Remark”为每个属性的特殊说明;用户依据该规则,在模拟软件实现后,通过数据库表即可制定新的应用层通信协议或者修改原有的通信协议;
协议解析过程中,协议解析模块自动读取协议格式,将待发送消息按照协议格式进行数据编码,将接收到的消息按照协议格式进行数据解码;
步骤六:业务应用层通信参数配置;
业务应用层通信参数的配置方式如表4所示:
表4通信参数配置表
注册应用程序的ID、名称,并设置IP和端口信息。
CN202010990935.4A 2020-09-19 2020-09-19 一种模拟软件通信层与业务应用层解耦***及实现方法 Active CN112131087B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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/网络辅助的设备发现协议的***和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于组件化指挥信息***仿真验证技术;徐文元 等;火力与指挥控制;第148-152、156页 *

Also Published As

Publication number Publication date
CN112131087A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN112131087B (zh) 一种模拟软件通信层与业务应用层解耦***及实现方法
CN108280023B (zh) 任务执行方法、装置和服务器
CN111488332B (zh) 一种ai服务开放中台及方法
CN108874524A (zh) 大数据分布式任务调度***
CN112363913B (zh) 一种并行测试任务调度寻优的方法、装置和计算设备
CN111930365A (zh) 基于Qt的应用程序快速开发框架、开发方法及运行方法
CN109861998B (zh) 一种基于北斗短报文协议的插件式动态解析***及方法
CN107133231B (zh) 一种数据获取方法和装置
CN115934855A (zh) 一种全链路字段级血缘解析方法、***、设备及存储介质
CN102833015B (zh) 一种卫星自动化测试***公共软件接口确定方法
CN110830567A (zh) 一种数据传输方法及装置
US20090327995A1 (en) Annotation-aided code generation in library-based replay
CN112883088A (zh) 一种数据处理方法、装置、设备及存储介质
CN114860228A (zh) 基于Module Federation技术实现的模块中心化共享***
CN112748907B (zh) 基于硬件资源的c/s模式通用测控软件架构与设计方法
CN112445811A (zh) 基于sql配置的数据服务方法、装置、存储介质及组件
CN113505143A (zh) 语句类型的转换方法、装置、存储介质及电子装置
CN110781647A (zh) 一种基于Flink实现数据格式校验的方法
CN105550355B (zh) 基于规则的Hose数据推送***及方法
CN117349332B (zh) 一种应用程序编程接口api的生成方法、装置和电子设备
CN112965993B (zh) 一种数据处理***、方法、装置及存储介质
CN108111344B (zh) 一种可链接式流式数据解析动态流程构建模型实现方法
CN115437615A (zh) 一种数据上报方法、装置、计算机设备和存储介质
CN117389700A (zh) 一种流批一体的数据处理方法、装置、***及存储介质
CN116320099A (zh) 一种可扩展dcs通讯协议处理***、方法、设备和存储介质

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