CN103312552B - 一种数据仿真方法、仿真机和通信系统 - Google Patents
一种数据仿真方法、仿真机和通信系统 Download PDFInfo
- Publication number
- CN103312552B CN103312552B CN201210064181.5A CN201210064181A CN103312552B CN 103312552 B CN103312552 B CN 103312552B CN 201210064181 A CN201210064181 A CN 201210064181A CN 103312552 B CN103312552 B CN 103312552B
- Authority
- CN
- China
- Prior art keywords
- state
- data
- machine
- simulation
- query
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 title claims abstract description 19
- 230000008859 change Effects 0.000 claims abstract description 70
- 238000012544 monitoring process Methods 0.000 claims abstract description 65
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 abstract description 7
- 230000004044 response Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据仿真机,包括:一模型状态机单元,用于生成仿真机的当前状态或者子系统状态;一用于展现仿真机当前状态或者子系统状态的GUI界面单元,与所述模型状态机单元相连接;一模型状态数据库单元,连接所述模型状态机单元,用于存储所述模型状态机单元的当前状态或者子系统状态变化的历史数据信息;一消息接口单元,连接所述模型状态机单元和模型状态数据库单元,用于将当前状态或者子系统的状态和/或变化状态的历史数据传递给外部的消息服务器。本发明能够对真实的世界系统进行仿真,以为监测系统开发者提供模拟测试环境,且该仿真机能适应随仿真需求变化而不需要修改代码。此外,还公开了一种数据仿真方法和数据仿真机通信系统。
Description
技术领域
本发明涉及仿真机自动生成技术,更具体地说,涉及一种用于仿真测试监控系统的基于配置的数据仿真方法及其系统。
背景技术
计算机仿真技术是以相似原理、控制理论、系统技术、信息技术以及应用领域的相关专业技术为基础,以计算机系统、与应用相关的设备及仿真器为工具,利用模型对真实或设想的系统进行试验研究的一门综合性技术。
通过对真实世界的系统进行建模仿真可以实现,低成本、无危险、高覆盖率以及可重复实验的仿真测试。特别地,针对真实世界系统开发监控系统时,在仿监控系统正式部署前,需要对监控系统进行测试和模拟,这时仿真技术则发挥了十分重要的作用。
在具体监控系统的开发中,用户的需求常常并不能固定下来,需求总是在变,监控的内容、形式和监控的具体对象也跟随着监控需求的变化而变化。此外,监控系统开发过程中,往往难有长时间与监控对象进行联调的机会。因而,急需监控对象的仿真机,从而实现对真实世界监控对象的模拟,为监控系统的开发提供模拟测试环境。然而,由于监控需求的变化,监控对象仿真模拟的重点也跟随着变化。因而仿真机的实现代码,也将需要随仿真需求变化而需要修改,这种修改存在以下问题:
1)需要反复开发仿真机,导致仿真机投入成本高。
2)难以跟上仿真需求的变化,满足新的仿真需求需要的开发周期长。
3)难以复用原有代码,浪费资源。
因而对监控对象的仿真,急需一种能适应随仿真需求变化而不需要修改代码的仿真方法和系统。
发明内容
其中,本发明为了克服现有的问题,本发明提供了一种数据仿真方法,用以对真实的世界系统进行仿真,以为监测系统开发者提供模拟测试环境,此外,还公开了一种数据仿真机和数据仿真通信系统。
其中,根据本发明的第一目的,本发明提供了一种数据仿真方法,包括:
A、生成一个数据仿真机的当前状态或者子系统状态,并将上述状态或者子系统状态展现到GUI界面上;
B、存储所述当前状态或者子系统状态变化的历史数据信息;
C、将当前仿真机或者子系统的状态和/或变化状态的历史数据传递给外部的消息服务器。
其中,优选的方法是,步骤A中,所述生成仿真机的当前状态或者子系统状态包括:
获取在GUI界面上输入的外部的操作指令,根据所述操作指令改变仿真机的当前状态或者子系统的状态。
其中,优选的是,步骤A中,所述生成仿真机的当前状态或者子系统状态包括:
读取一仿真机状态配置XML描述表,根据所述仿真机状态配置表生成当前状态或者子系统状态。
其中,所述XML描述表通过解析一配置文件生成;
其中,该配置文件与所述模型状态机单元的格式相对应,并且在解析上述配置文件时,还生成与所述XML描述文件相对应的一个或多个模型状态查询哈希表。
此外,步骤C之前,还包括:根据所述查询哈希表生成具体的状态查询配置对应表;
获取消息服务器传递的状态查询指令,根据所述查询指令查询所述状态查询配置对应表,并生成对应的查询指令;
步骤C中,包括:根据所述查询指令当前状态或者历史状态数据发送给外部消息服务器。
其中,优选的是,步骤C中,具体包括:获取当前仿真机或者子系统的状态和/或变化状态;
将当前仿真机或者子系统的状态和/或变化状态的历史数据主动传递给外部的消息服务器。
此外,优选的是,所述配置文件中具体包括:
模型状态英文名、模型状态中文名、模型状态类型、模型状态取值、状态变化对应的告警级别、状态变化对应的告警的ID信息。
本发明采取了上述技术方案以后,能够基于仿真机配置文件格式定义,实现数据仿真机的生成和通信,且在变化仿真机时,仅仅需要编写所述仿真机的配置文件,就能够实现仿真机的自动生成,从而能够随着仿真需求的变化,在不需要修改仿真代码的情况下快速自动生成新的数据仿真机。
此外,本发明还提供了一种数据仿真机,包括:
一模型状态机单元,用于生成仿真机的当前状态或者子系统状态;
一GUI界面单元,用于展现仿真机当前状态或者子系统状态,与所述模型状态机单元相连接;
一模型状态数据库单元,连接所述模型状态机单元,用于存储所述模型状态机单元的当前状态或者子系统状态变化的历史数据信息;
一消息接口单元,连接所述模型状态机单元和模型状态数据库单元,用于将当前仿真机或者子系统的状态和/或变化状态的历史数据传递给外部的消息服务器。
其中,优选的是,所述GUI界面单元,还连接有一操作捕捉子单元,用于获取外部的操作指令并传递给模型状态机单元;
其中,所述模型状态机单元用于根据所述操作指令改变仿真机的当前状态或者子系统的状态。
其中,优选的是,所述模型状态机单元还连接状态读取子单元,用于读取一仿真机状态配置XML描述表;
其中,所述模型状态机单元,用于根据所述仿真机状态配置表生成当前状态或者子系统状态。
其中,优选的是,还设有一状态查询配置表单元,用于读取多个与所述XML描述表对应的查询哈希表;
其中,所述状态查询配置表用于根据所述查询哈希表生成具体的状态查询配置对应表,所述查询配置表单元连接所述消息接口单元。
其中,优选的是,所述消息接口单元,包括:接收子单元,用于获取消息服务器传递的状态查询指令;
查询子单元,用于根据所述查询指令查询所述状态查询配置对应表,并生成对应的向模型状态机单元或者状态数据库发起的查询指令。
其中,优选的是,所述消息接口单元,还设有:
状态接收子单元,用于接收模型状态机单元或者状态数据库主动或者被动发出的当前状态或者历史状态数据;状态数据发送子单元,用于将所述状态数据发送给消息服务器。
本发明采取了上述技术方案以后,所述数据仿真机能够基于仿真机配置文件格式定义,实现数据仿真机的生成和通信,并能够根据配置文件的格式形成各种的数据仿真机,具有仿真实现方便的优点。
此外,本发明还提供了一种数据仿真机通信系统,包括:
一个或者多个数据仿真机;
消息服务器和外部监控系统,所述消息服务器,设于所述数据仿真机和外部监控系统之间,其中,所述消息服务器,包括:接收子单元,用于获取外部监控系统发送的查询指令;发送子单元,用于将所述查询指令传递给所述数据仿真机;
状态接收子单元,用于接收数据仿真机根据该查询指令返回的状态数据或者主动发送的状态数据;状态发送子单元,用于将所述状态数据发送给外部监控系统。
其中,优选的是,所述消息服务器和监控系统之间设有一自动消息传输通道,用于将数据仿真机上报的状态信息上报给监控系统;一查询消息通道,用于将监控系统生成的查询指令传递给所述消息服务器。
其中,优选的是,所述消息服务器、数据仿真机和外部监控系统之间基于客户端-服务器方式进行通信。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。
图1是本发明数据仿真机的结构示意图;
图2是本发明数据仿真机通信系统的架构示意图;
图3是本发明数据仿真方法的流程示意图;
图4是本发明一个实施例的数据仿真机的状态生成方法流程示意图。
具体实施方式
本发明的目的在于提供一种仿真方法及其系统,实现仿真机能够适应仿真需求的变化而复用原有代码的方法及其系统。
本发明通过以下技术方案实现:
1)仿真机通信架构及消息机制
2)仿真机封装
3)消息协议定义
4)仿真机配置文件格式定义
5)仿真机自动生成框架
其中,仿真机通信架构及消息机制,用于描述多个仿真机的聚合起来的仿真系统的通信结构。给出一种仿真机消息交互的结构,解除了模型之间直接调用而带来的耦合问题,并在机制上保证了仿真机可以进行单机部署和进行分布式部署。
仿真机封装,用于描述仿真机的结构,接口,模型行为逻辑,以及模型的GUI界面。
消息协议定义,定义消息协议,用于实现仿真机之间信息交互。
仿真机配置文件格式定义,用于描述仿真机信息,指导用户进行编写配置模型配置文件。
仿真机自动生成框架,主要实现根据仿真机配置文件自动生成面向仿真机。
以下结合下面所述的各个实施例对本发明进行详细说明。
装置实施例一:
根据上述仿真原理,本发明提供了一种数据仿真机,如图1所示,是本发明所述的数据仿真机的结构示意图;
如图1所示,所述数据仿真机,包括:一用于生成与物理设备状态相同的当前状态或者子系统状态的模型状态机单元;
一用于展现仿真机当前状态或者子系统状态的GUI界面单元,与所述模型状态机单元相连接;
一模型状态数据库单元,连接所述模型状态机单元,用于存储所述模型状态机单元的当前状态或者子系统状态变化的历史数据信息;
一消息接口单元,连接所述模型状态机单元和模型状态数据库单元,用于将当前仿真机或者子系统的状态和/或变化状态的历史数据传递给外部的消息服务器。
其中,所述模型状态机单元,主要描述和实现模型状态的转移,并承担了模型GUI界面的驱动功能,其中,GUI界面主要负责模型与人之间的交互,具体将模型的状态按配置文件要求的展现方式展现出来,依据模型状态机单元里模型状态的变化而实时更新GUI界面信息,并将用户对GUI界面的操作相应产生的模型状态变化更新到模型状态变量中。消息接口主要负责仿真机与消息服务器的消息交互。
其中,根据本实施例,所述模型状态机单元中的状态或者子系统的状态由外部操作或者内部的机制而发生变化,为此,在一个实施例中,所述GUI界面单元和模型状态机单元之间,还设有一操作捕捉子单元,用于获取外部的操作指令并传递给模型状态机单元;
其中,所述模型状态机单元用于根据所述操作指令改变仿真机的当前状态或者子系统的状态。
其中,为了实现根据内部的机制而发生状态的变化和产生设备的状态,在一个实施例中,本发明还设有一状态读取子单元,用于读取一仿真机状态配置XML描述表;
其中,所述模型状态机单元,用于根据所述仿真机状态配置表生成当前状态或者子系统状态。
更具体地,还设有一状态查询配置表单元,用于读取多个与所述XML描述表对应的查询哈希表;
其中,所述状态查询配置表用于根据所述查询哈希表生成具体的状态查询配置对应表,所述查询配置表单元连接所述消息接口单元。
此外,所述消息接口单元,包括:接收子单元,用于获取消息服务器传递的状态查询指令;
查询子单元,用于根据所述查询指令查询所述状态查询配置对应表,并生成对应的向模型状态机单元或者状态数据库发起的查询指令。
并且,所述消息接口单元,还设有:
状态接收子单元,用于接收模型状态机单元或者状态数据库主动或者被动发出的当前状态或者历史状态数据;状态数据发送子单元,用于将所述状态数据发送给消息服务器。
更具体地说,本发明之中,所述仿真机状态变化时,将仿真机的状态变化信息存储到数据库中,并相应发送状态变化引起的消息。
其中,当消息接口接收到仿真机状态查询消息时,状态机进入仿真机查询状态,查询数据库相应的仿真机状态并返回查询结果。其中,消息接口将查询结果按响应查询消息协议将查询结果发送出去。
其中,本发明采取了上述方案以后,能够对真实的世界系统进行仿真,以为监测系统开发者提供模拟测试环境;并且,所述数据仿真机能够多次复用,且其仿真不同的数据仿真机时,可以根据对应的XML描述文件重新生成,由此,所述仿真机能适应随仿真需求变化而不需要修改代码,具有非常好的技术优点。
系统实施例一:
其中,本发明还提供了一种数据仿真机通信系统;其中,图2是本发明数据仿真机通信系统的结构示意图;
如图2所示,所述数据仿真机通信系统,包括:一个或者多个数据仿真机;消息服务器和外部监控系统,所述消息服务器,设于所述数据仿真机和外部监控系统之间,其中,所述消息服务器,包括:接收子单元,用于获取外部监控系统发送的查询指令;发送子单元,用于将所述查询指令传递给所述数据仿真机;
状态接收子单元,用于接收数据仿真机根据该查询指令返回的状态数据或者主动发送的状态数据;状态发送子单元,用于将所述状态数据发送给外部监控系统。
其中,在优选的实施例中,所述消息服务器和监控系统之间设有一自动消息传输通道,用于将数据仿真机上报的状态信息上报给监控系统;一查询消息通道,用于将监控系统生成的查询指令传递给所述消息服务器。
此外,所述消息服务器、数据仿真机和外部监控系统之间的基于SOCKET客户端-SOCKET服务器方式进行通信。
其中,每个仿真机是对真实世界系统的每个部件建立的仿真机;其中,消息服务器主要负责仿真机之间交互消息的转发和过滤功能;其中,监控系统通过一个或者多个接口用来实现仿真机消息到监控系统的互连、互通和互操作。
其中,更具体地说,所述消息服务器与监控系统有两个消息通道——自动消息通道和查询消息通道,仿真机的状态变化产生的消息将通过消息服务器的自动消息通道发送给监控系统,当监控系统需要查询仿真机状态或历史状态时,通过查询消息通道进行查询。
其中,为了实现消息的互通和查询,所述仿真机、消息服务器和监控系统的接口之间,设置了单独的消息协议格式。
具体来说,本发明所述的消息协议,具体地包括自动发送消息协议、查询消息协议、响应查询消息协议和查询表等。
其中,所述的自动发送消息协议,指仿真机发送给消息服务器的消息格式定义,消息服务器将自动发送消息原封不动的转发给监控系统。
其中,所述的查询消息协议,指监控系统向仿真机查询历史状态的消息格式。
其中,所述的响应查询消息协议,指仿真机对查询消息响应时,发送消息的格式。
其中,为了实现相应的状态和状态信息之间的查询和转换,所述数据仿真机还设置有一查询表,主要包括中英文对照查询表、告警ID对照表和告警级别对照表。
其中,中英文对照查询表指以上三种消息协议里涉及仿真机状态、仿真机状态对应的值等信息的中英文对照表,主要用于消息内容里中英文或全称与简称的转换,从而使得仿真机的状态、GUI界面控件的名称、监控系统的监控对象等各个模块之间对同一个事物的称呼保持一致。
其中,告警ID对照表指仿真机状态变化时对应的告警ID对照查询表,告警级别对照表指仿真机状态变化时对应的告警级别对照查询表,
本发明采取了上述方案以后,能够监控系统开发过程中,往往难有长时间与监控对象进行联调的机会。因而,急需监控对象的仿真机,从而实现对真实世界监控对象的模拟,为监控系统的开发提供模拟测试环境。
所述的仿真机主动向监控系统发送消息流程包括如下步骤:
步骤1:仿真机的状态变化。
步骤2:仿真机将状态变化对应的消息发送给消息服务器。
步骤3:消息服务器接收到仿真机的消息,并将消息通过自动消息通道发送给监控系统。
所述的监控系统查询仿真机状态流程包括如下步骤:
步骤1:监控系统客户端向消息服务器的socket服务器发起连接。
步骤2:监控系统向消息服务器发送查询消息。
步骤3:消息服务器接收到监控系统的查询消息后,进行简单过滤后,把消息转发给具体的仿真机。
步骤4:仿真机接收到查询消息之后,根据查询消息的要求把需要的数据打包并响应发送给消息服务器。
步骤5:消息服务器接收到仿真机对查询消息的响应消息,通过查询消息通道转发给监控系统。
2)本发明所述的仿真机封装结构的具体实施中,主要包括查询消息处理流程和模型状态变化自动消息发送流程。
所述的查询消息处理流程,指仿真机接收到消息服务器转发的查询消息后进行的消息解析、处理和发送响应消息的过程。具体步骤如下:
步骤1:接收到查询消息,进行消息解析。
步骤2:根据解析结果,生成SQL语句,向仿真机状态历史数据库查询。
步骤3:根据数据库查询结果,按响应查询消息的格式打包,并发送给消息服务器。
模型状态变化自动消息发送流程,:
指仿真机状态发生变化时将产生相应的消息,并将此消息发送给消息服务器,通过消息服务器的自动消息通道发送给监控系统。仿真机状态发生变化主要是由于GUI界面的人机操作或仿真机状态机逻辑处理产生。具体步骤如下:
步骤1:GUI界面控件状态变化或仿真机状态机状态变化。
步骤2:导致仿真机相应状态变化。
步骤3:将相应在的状态变化按消息格式发送给消息服务器。
3)本发明所述的消息协议定义在具体实施中,自动发送消息协议、查询消息协议、响应查询消息协议和查询表生成流程如下:
自动发送消息协议如下:
&&状态名称|告警ID|模型ID|状态名称英文名|告警等级|时间|状态值|子模型ID|&&
其中,
“&&”是消息的起始和结束标识符。
“|”是消息内容的分隔符。
状态名称是指仿真机变化的状态名称。
告警ID是指仿真机变化的状态对应的ID号。
模型ID是指仿真机的ID号。
状态名称英文名是指仿真机变化的状态名称的英文名称。
告警等级是指仿真机变化的状态对应的告警级别。
时间是指仿真机变化状态时的时间。
状态值指仿真机变化状态后的值。
子模型ID指仿真机变化状态所属的子模型ID。
查询消息协议如下:
&&2004&&模型ID##子模型ID##状态名称##记录条数&&
“&&”是消息的起始和结束标识符。
“##”是消息内容的分隔符。
2004是查询消息协议的协议号,用于标识此消息协议。
模型ID是指仿真机的ID。
状态名称是指需要查询仿真机状态的状态名称。
记录条数是指需要查询仿真机状态最近变化的几记录条数(在仿真机里,只有当仿真机状态发生变化时才将仿真机的状态记录到数据库里)。
响应查询消息协议如下:
&&2005&时间1||值##时间2||值....||时间n||值n&&
“&&”是消息的起始和结束标识符。
“||”是消息内容的分隔符。
2005是查询消息协议的协议号,用于标识此消息协议。
时间n是指响应查询状态最近第n次发生变化的时间。
值n是指需要查询仿真机状态在时间n处的状态值。
其中,所述通信模型的运作中,主要包括下列步骤:
启动消息服务器、监控系统模型和若干仿真机;
启动消息服务器时,初始化其socket客户端,并尝试连接监控系统的socket服务器;若连接超时则每隔5秒钟后再次尝试,直到连接成功。初始化其socket服务器并接受socket客户端连接,当有仿真机连接时,将该仿真机的IP和端口做为ID标识。
启动监控系统,初始化其socket服务器。
启动仿真机,初始化其socket客户端,并尝试向消息服务器的socket服务器连接,若连接超时则每隔5秒钟后再次尝试,直到连接成功。
其中,该系统能够提供现有的铁路ATP设备、RBC设备、TSCR设备、TCC设备或者CTC设备等的监测数据,具有很好的实验效果。
方法实施例一:
以下对本发明的数据仿真方法进行详细说明;
其中,该方法和上述装置实施例和方法实施例的各种处理流程相对应;并且,相应的状态查询和发送,其适用于系统实施例一的上述描述。
其中,图3是本发明数据仿真方法的流程示意图;如图3所示,所述数据仿真方法包括以下步骤:
S101:生成一个数据仿真机的当前状态或者子系统状态;
S102:将上述状态或者子系统状态展现到GUI界面上;
S103:存储所述当前状态或者子系统状态变化的历史数据信息;
S104:将当前仿真机或者子系统的状态和/或变化状态的历史数据传递给外部的消息服务器。
其中,步骤S101中,所述生成仿真机的当前状态或者子系统状态包括:
获取在GUI界面上输入的外部的操作指令,根据所述操作指令改变仿真机的当前状态或者子系统的状态。
其中,在优选的实施例中,所述生成仿真机的当前状态或者子系统状态包括:
读取一仿真机状态配置XML描述表,根据所述仿真机状态配置表生成当前状态或者子系统状态。
其中,基于XML描述表的方式生成仿真机的当前状态或者子系统状态的优点在于,可以通过更换不同的XML描述表生成各种不同的数据仿真机,并且,XML描述表具有显示直观的优点,问题从这个文件可以体现出来。
更具体地说,所述XML描述表通过解析一配置文件生成;
其中,该配置文件与所述模型状态机单元的格式相对应,并且在解析上述配置文件时,还生成与所述XML描述文件相对应的一个或多个模型状态查询哈希表。
其中,在本发明所述的数据仿真方法之中,仿真的数据传输到外部的消息服务器可以通过主动或者被动传送的方式。
其中,在被动传送数据的时候,在步骤S103之前,还包括:根据所述查询哈希表生成具体的状态查询配置对应表;
获取消息服务器传递的状态查询指令,根据所述查询指令查询所述状态查询配置对应表,并生成对应的查询指令;
步骤S103中,具体包括:根据所述查询指令当前状态或者历史状态数据发送给外部消息服务器。
其中,在主动发送数据的时候,步骤S103,具体包括:
获取当前仿真机或者子系统的状态和/或变化状态;
将当前仿真机或者子系统的状态和/或变化状态的历史数据主动传递给外部的消息服务器。
其中,可以理解的是,在一个优选的实施例中,所述配置文件中具体包括:模型状态英文名、模型状态中文名、模型状态类型、模型状态取值、状态变化对应的告警级别、状态变化对应的告警的ID信息。
本发明采取了上述技术方案以后,能够基于仿真机配置文件格式定义,实现数据仿真机的生成和通信,且在变化仿真机时,仅仅需要编写所述仿真机的配置文件,就能够实现仿真机的自动生成,从而能够随着仿真需求的变化,在不需要修改仿真代码的情况下快速自动生成新的数据仿真机。
方法实施例二:
此外,本发明还提供了一种数据仿真方法,包括:
A、启动一个或多个数据仿真机、通信服务器和所述外部监控系统,同时,按照所述数据仿真机的格式要求生成或修改对应的一个或多个数据仿真机的状态配置文件;
B、对所述状态配置文件进行解析并形成一状态XML描述文件以及与所述XML描述文件相对应的一个或多个模型状态查询哈希表;
C、根据所述状态XML描述文件形成所述数据仿真机当前的状态或者子系统状态,并将上述状态展现到仿真机机的GUI界面上;和/或,
D、根据所述状态查询哈希表生成一状态查询表;
其中,所述状态查询表与状态接口单元相连接,用于实现外部查询命令和内部的状态信息之间的匹配操作。
其中,所述配置文件是EXCEL配置文件,具体包括:
模型状态英文名、模型状态中文名、模型状态类型、模型状态取值、状态变化对应的告警级别、状态变化对应的告警的ID信息。
在一个实施例中,仿真机配置文件格式定义具体实施中,每个仿真机对应一张excel表,该excel表定义如下。
具体包括6列:模型状态英文名、模型状态中文名、模型状态类型描述、模型状态取值描述、状态变化对应告警的级别和状态变化对应告警的ID。
模型状态英文名模型状态中文名模型状态类型描述模型状态取值描述状态变化对应告警的级别状态变化对应告警的ID
其中模型状态类型描述的取值主要有:“开关量”、“状态量”、“告警”等。
模型状态取值描述的格式为:“取值数字+等号+取值中文名”,多个取值用逗号分隔。譬如某模型状态取值有3“故障”、“正常”和“初始化”,其模型状态取值描述为:“0=正常,1=故障,2=初始化”
其中,在一个实施例中,所述查询表生成及其流程如下:
根据每个仿真机配置文件(excel文件)生成中英文对照查询表、告警ID对照表和告警级别对照表。这些表都以哈希表的形式在仿真机中体现出来,具体哈希表以及其KEY和VALUE如下所示:
告警级别映射表<报警名(中文),告警级别>
告警ID映射表<报警名(中文),告警ID>
模型状态中英文映射表<状态中文,状态英文>
模型状态英中文映射表<状态英文,状态中文>
模型状态值中英文映射表<状态值中文,状态值英文>
模型状态值英中文映射表<状态值英文,状态值中文>
这些哈希表的生成流程如下:
步骤1:从指定的路径中读取excel文件。
步骤2:从excel文件中的指定单元格中读取数据。
步骤3:生成相应的哈希表。
其中,图4是本发明一个实施例的具体实施实例的流程示意图;如图4所示,所述方法主要包括以下几个步骤:
1、初始化:具体包括:将excel配置文件(每个仿真机对应1份excel配置文件)解析出来,生成6张查询哈希表和生成1份模型描述xml文件,其中,所述查询哈希表与所述描述XML文件具有一定的对应关系。
2、模型描述XML文件读取和解析过程,在本实施例中,GUI界面单元中的一个GUI子界面控制器和GUI主界面控制依据模型的xml描述文件,按照GUI子界面模板的布局和GUI主界面模板的布局生生该xml文件对应的GUI界面。
3、哈希表解析过程,用于对所述哈希表进行解析并生成用于外部查询指令转变成数据仿真机内部的查询指令的一查询表。
其中,所述哈希表和查询表主要起到一个协议语义的转换作用,以实现中文和英文之间的语义转换。
其中,该系统能够提供现有的铁路ATP设备、RBC设备、TSCR设备、TCC设备或者CTC设备等的监测数据,具有很好的实验效果。
其中,本发明采取了上述方案以后,提高了仿真机的对仿真需求的适应能力,并能够根据不同的配置文件实现不同的数据仿真机的生成,能适应随仿真需求变化而不需要修改代码。
本发明的实施方式不限于此,根据上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,本发明还可以做出其它多种形式的等效修改、替换或变更,均应当理解为仍属于本发明的保护范围。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种数据仿真方法,包括:
A、生成一个仿真机的当前状态或者子系统状态,并将仿真机的当前状态或者子系统状态展现到GUI界面上;
B、存储所述仿真机状态变化的历史数据信息或者子系统状态变化的历史数据信息;
C、将仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据传递给外部的消息服务器;
步骤A中,所述生成仿真机的当前状态或者子系统状态包括:
读取一仿真机状态配置XML描述表,根据所述仿真机状态配置XML描述表生成当前状态或者子系统状态;
所述仿真机状态配置XML描述表通过解析一状态配置文件生成;
其中,在解析上述配置文件时,还生成与所述仿真机状态配置XML描述表相对应的一个或多个模型状态查询哈希表。
2.根据权利要求1所述的数据仿真方法,其特征在于,步骤A中,所述生成仿真机的当前状态或者子系统状态包括:
获取在GUI界面上输入的外部的操作指令,根据所述操作指令改变仿真机的当前状态或者子系统的状态。
3.根据权利要求1所述的数据仿真方法,其特征在于,步骤C之前,还包括:根据所述查询哈希表生成具体的状态查询配置对应表;
获取消息服务器传递的状态查询指令,根据所述查询指令查询所述状态查询配置对应表,并生成对应的查询指令;
步骤C中,包括:根据生成的所述对应的查询指令查询仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据并发送给外部消息服务器。
4.根据权利要求2所述的数据仿真方法,其特征在于,步骤C中,具体包括:获取仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据;
将仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据主动传递给外部的消息服务器。
5.根据权利要求1所述的数据仿真方法,其特征在于,所述配置文件中具体包括:
模型状态英文名、模型状态中文名、模型状态类型、模型状态取值、状态变化对应的告警级别、状态变化对应的告警的ID信息。
6.一种数据仿真机,包括:
一模型状态机单元,用于生成仿真机的当前状态或者子系统状态;
一GUI界面单元,用于展现仿真机当前状态或者子系统状态,与所述模型状态机单元相连接;
一模型状态数据库单元,连接所述模型状态机单元,用于存储所述仿真机的状态变化的历史数据信息或者子系统状态变化的历史数据信息;
一消息接口单元,连接所述模型状态机单元和模型状态数据库单元,用于将仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据传递给外部的消息服务器;
所述模型状态机单元还连接状态读取子单元,用于读取一仿真机状态配置XML描述表;
其中,所述模型状态机单元,用于根据所述仿真机状态配置XML描述表生成仿真机的当前状态或者子系统状态;
还设有一状态查询配置表单元,用于读取多个与所述仿真机状态配置XML描述表对应的查询哈希表;
其中,所述状态查询配置表单元用于根据所述查询哈希表生成具体的状态查询配置对应表,所述状态查询配置表单元连接所述消息接口单元。
7.根据权利要求6所述的数据仿真机,其特征在于,所述GUI界面单元,还连接有一操作捕捉子单元,用于获取外部的操作指令并传递给模型状态机单元;
其中,所述模型状态机单元用于根据所述操作指令改变仿真机的当前状态或者子系统的状态。
8.根据权利要求7所述的数据仿真机,其特征在于,所述消息接口单元,包括:接收子单元,用于获取消息服务器传递的状态查询指令;
查询子单元,用于根据所述查询指令查询所述状态查询配置对应表,并生成对应的向模型状态机单元或者模型状态数据库单元发起的查询指令。
9.根据权利要求8所述的数据仿真机,其特征在于,所述消息接口单元,还设有:
状态接收子单元,用于接收模型状态机单元或者模型状态数据库单元主动或者被动发出的仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据;状态数据发送子单元,用于将所述仿真机的当前状态和/或状态变化的历史数据或者子系统的状态和/或状态变化的历史数据发送给消息服务器。
10.一种数据仿真机通信系统,包括:
一个或者多个如权利要求6-9任一所述的数据仿真机;
消息服务器和外部监控系统,所述消息服务器,设于所述数据仿真机和外部监控系统之间,其中,所述消息服务器,包括:接收子单元,用于获取外部监控系统发送的查询指令;发送子单元,用于将所述查询指令传递给所述数据仿真机;
状态接收子单元,用于接收数据仿真机根据该查询指令返回的状态数据或者主动发送的状态数据;状态发送子单元,用于将所述状态数据发送给外部监控系统。
11.根据权利要求10所述的数据仿真机通信系统,其特征在于,所述消息服务器和外部监控系统之间设有一自动消息传输通道,用于将数据仿真机上报的状态数据上报给外部监控系统;一查询消息通道,用于将外部监控系统生成的查询指令传递给所述消息服务器。
12.根据权利要求10所述的数据仿真机通信系统,其特征在于,所述消息服务器、数据仿真机和外部监控系统之间基于客户端-服务器方式进行通信。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210064181.5A CN103312552B (zh) | 2012-03-12 | 2012-03-12 | 一种数据仿真方法、仿真机和通信系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210064181.5A CN103312552B (zh) | 2012-03-12 | 2012-03-12 | 一种数据仿真方法、仿真机和通信系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103312552A CN103312552A (zh) | 2013-09-18 |
| CN103312552B true CN103312552B (zh) | 2017-02-08 |
Family
ID=49137353
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201210064181.5A Active CN103312552B (zh) | 2012-03-12 | 2012-03-12 | 一种数据仿真方法、仿真机和通信系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103312552B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105138332A (zh) * | 2015-08-26 | 2015-12-09 | 上海联影医疗科技有限公司 | 状态机的实现方法和装置 |
| CN106502770B (zh) * | 2015-09-07 | 2021-09-21 | 上海畅星软件有限公司 | 一种基于有限状态机的hmi状态迁移方法 |
| CN106815388A (zh) * | 2015-12-02 | 2017-06-09 | 北京华大九天软件有限公司 | 一种通过界面显示仿真测量数据的方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1249474A (zh) * | 1998-07-03 | 2000-04-05 | 日本电气株式会社 | 程序开发系统、程序开发方法和为开发程序而存储程序的存储介质 |
| CN1683914A (zh) * | 2004-04-13 | 2005-10-19 | 张建 | 铁路摸拟实验室 |
| CN101719189A (zh) * | 2009-12-24 | 2010-06-02 | 卡斯柯信号有限公司 | 一种适用于ats系统测试及培训的仿真器 |
| CN101901150A (zh) * | 2010-07-08 | 2010-12-01 | 北京航空航天大学 | 通用分布式机载设备健康管理仿真平台及其实现方法 |
| CN101937232A (zh) * | 2010-09-07 | 2011-01-05 | 北京航空航天大学 | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 |
-
2012
- 2012-03-12 CN CN201210064181.5A patent/CN103312552B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1249474A (zh) * | 1998-07-03 | 2000-04-05 | 日本电气株式会社 | 程序开发系统、程序开发方法和为开发程序而存储程序的存储介质 |
| CN1683914A (zh) * | 2004-04-13 | 2005-10-19 | 张建 | 铁路摸拟实验室 |
| CN101719189A (zh) * | 2009-12-24 | 2010-06-02 | 卡斯柯信号有限公司 | 一种适用于ats系统测试及培训的仿真器 |
| CN101901150A (zh) * | 2010-07-08 | 2010-12-01 | 北京航空航天大学 | 通用分布式机载设备健康管理仿真平台及其实现方法 |
| CN101937232A (zh) * | 2010-09-07 | 2011-01-05 | 北京航空航天大学 | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103312552A (zh) | 2013-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113722020A (zh) | 接口调用方法、装置和计算机可读存储介质 | |
| CN103634154B (zh) | 网络状态的模拟系统及其模拟方法 | |
| CN102932431B (zh) | 一种基于消息路由的状态监测数据接口配置方法 | |
| WO2008061340A1 (en) | Automated testing and control of networked devices | |
| CN102708232B (zh) | 分布式仿真数据处理方法及装置 | |
| CN106599398A (zh) | 天地一体化集成管理系统的仿真方法及装置 | |
| CN102520619A (zh) | 一种通用化卫星遥测仿真器 | |
| WO2017113848A1 (zh) | 测试用例的测试方法及测试平台、模拟测试设备 | |
| CN103312552B (zh) | 一种数据仿真方法、仿真机和通信系统 | |
| CN106027674A (zh) | 一种互联网与智能制造相结合的架构系统 | |
| CN102594615B (zh) | 一种模拟仿真增值业务的方法及系统 | |
| CN103812905B (zh) | 一种物联网终端应用一体化生成系统和方法 | |
| CN109445384A (zh) | 一种多设备控制系统 | |
| CN116488985A (zh) | 多源异构物联网数据的处理方法 | |
| CN104836831B (zh) | 一种用于物联网的物体服务方法 | |
| CN120528838A (zh) | 一种基于中间件和接口定义的无人载具群协同测试系统与方法 | |
| CN205864449U (zh) | 电动汽车充电设备通信规约一致性测试装置 | |
| CN108197370A (zh) | 一种灵活的分布式电网和通信网联合仿真平台及仿真方法 | |
| CN101335651A (zh) | 一种终端仿真测试系统及使用该系统扩充终端的方法 | |
| CN114424132B (zh) | 用于提供设施的数字复制品的系统和方法和对应的计算机程序产品 | |
| CN104717052B (zh) | 一种基于afdx网络交换机芯片的虚拟验证系统及方法 | |
| CN111245686B (zh) | 一种指挥车系统节点单体检测诊断设备 | |
| CN114661280A (zh) | 模型仿真的云端及终端交互方法、服务器、终端及系统 | |
| CN115442837B (zh) | 网络系统故障排查方法、装置及电子设备 | |
| CN107769968B (zh) | Afdx网络中snmp代理的调试与测试系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant |