分布式的仿真通信框架和通信效能计算方法

文档序号:7871209阅读:140来源:国知局
专利名称:分布式的仿真通信框架和通信效能计算方法
技术领域
本发明涉及一种分布式的仿真通信框架和通信效能计算方法,为构建仿真系统提供通信网络模拟途径。
背景技术
当前的分布式仿真系统大多是遵循HLA(高级体系结构,HighLevelArchitecture)规范构建的,HLA是面向具体仿真任务需求定制和开发仿真联邦系统。目前的仿真系统基本都是分布式架构,仿真系统中包含多个仿真节点,为了增强仿真模拟的真实性,需要对不同仿真节点之间的通信链路进行模拟。目前,针对通信框架的研究基本上以实际网络链路构建为主。2009年有人提出了基于B/S和C/S的即时通信系统,选择Ajax等技术作为客户端实现机制,主要服务于实际系统之间的信息交互;2010年有人提出了基于Agent的系统通信框架,利用XML和SOAP技术架构,重点解决的是在系统信息交互过程中不同网络传输协议之间的转换。在仿真领域中,主要以通信效能模型的研究为主,重点在于研究通信性能参数的计算方法,但是缺少对通信效能计算模型的调度和使用管理,尤其是当通信计算模型过多或过于复杂时,会产生计算延迟,从而影响整个仿真系统的实时性。

发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的第一目的是提供一种分布式的仿真通信框架,支持不同类型通信链路仿真的通信模型并发运行,能够满足仿真系统运行的需求。由于通信效能仿真计算需要使用大量计算资源,当仿真系统节点数量多、链路复杂时,需要多种通信效能仿真模型。当多种通信效能仿真模型并发计算时,会消耗大量的计算资源,甚至产生计算延迟,从而影响整个仿真系统的运行。因此,本发明的第二目的是提供一种通信效能仿真计算方法,尽可能避免多个通信效能仿真模型的并发计算,减少对计算资源的消耗。技术方案:为实现上述发明目的,本发明采用的第一种技术方案为一种分布式的仿真通信框架,包括仿真通信框架计算服务端和仿真通信框架调用客户端,所述仿真通信框架计算服务端包括通信效能计算模型部署模块、通信模型初始化模块、通信模拟计算请求处理模块和仿真通信框架客户端同步模块;所述仿真通信框架调用客户端包括计算服务端同步处理模块、通信模拟效果反馈模块和节点状态上报模块;所述通信效能计算模型部署模块用于将开发好的通信效能计算模型部署到框架中,使该通信效能计算模型可被用户调用;所述通信模型初始化模块用于在所述计算服务端启动后自动加载和初始化当前配置的通信效能计算模型;所述通信模拟计算请求处理模块用于接收所述客户端发送的计算请求消息,对消息进行解析,根据解析后的消息内容调用通信效能计算模型完成通信仿真模拟计算,得到通信效能参数;所述仿真通信框架客户端同步模块用于将计算获得的链路的通信效能参数发送给链路两端的仿真节点上部署的仿真通信框架调用客户端;所述计算服务端同步处理模块用于接收来自所述计算服务端的通信效能参数,并保存;所述通信模拟效果反馈模块用于在仿真节点发送信息时,将信息发送链路的通信效能参数叠加到当前仿真节点的链路性能参数中;所述节点状态上报模块用于将当前仿真节点的链路性能参数信息上报给仿真通信框架计算服务端。进一步的,所述通信效能计算模型为DLL格式的文件;所述通信效能计算模型部署模块包括本地文件夹监视接口、部署子模块和反部署子模块,其中:本地文件夹监视接口用于接收本地或远程的DLL文件,并将接收到的文件传输给部署子模块或反部署子模块;部署子模块和反部署子模块将DLL文件部署或反部署到计算服务端的指定目录中。进一步的,所述通信模型初始化模块用于在所述计算服务端启动后自动加载和初始化当前配置的通信效能计算模型,并根据所述通信效能计算模型的ID号从数据库中读取该模型的初始化参数信息,完成模型初始化操作。进一步的,所述模型的初始化参数信息存储在oracle数据库中。进一步的,所述计算服务端启动后,根据配置文件加载通信效能计算模型,所述配置文件以xml格式存在,配置文件的内容包括模型ID、模型名称和模型的初始化参数信息。进一步的,所述计算服务端同步处理模块包括节点管理子模块、状态更新子模块和节点同步子模块;所述节点管理子模块用于管理当前所有运行仿真通信框架调用客户端的仿真节点信息,监控每个仿真节点的状态;所述状态更新子模块用于接收仿真节点状态更新的消息,并根据更新后的链路性能参数计算该节点与其它相邻仿真节点的通信效能参数信息;所述节点同步子模块用于将状态更新后新计算的仿真节点通信效能参数信息发送给该仿真节点。进一步的,所述通信效能参数包括通信延迟时间和误码率。进一步的,所述状态更新子模块提供仿真节点链路性能参数更新接口和人机交互界面,允许操作人员通过手工的方式修改不同仿真节点的链路性能参数。进一步的,所述节点状态上报模块定义了 3个标准接口:节点接入接口、节点注销接口和节点状态上报接口。本发明采用的第二种技术方案为一种分布式的通信效能仿真计算方法,包括如下步骤:(I)采用服务端一客户端的C/S架构,由服务端的高性能计算机完成通信效能计算,并将每个仿真节点的通信效能模拟的链路性能参数同步到不同的仿真节点;(2)每个仿真节点的通信效能计算过程在仿真模型加载、初始化完成以后自动进行;(3)当仿真节点之间的链路性能参数没有发生变化时仿真节点之间的通信效能参数将不重复计算;直到仿真节点之间的链路性能参数发生变化,且仿真通信框架接收到变化后的链路性能参数,仿真通信框架才重新计算发生变化的通信链路的通信效能参数,并将计算结果同步到该链路的两个仿真节点上的仿真通信框架调用客户端。有益效果:本发明与现有技术相比具有以下优点:(I)采用一种分布式的仿真通信框架,能够支持不同类型的通信链路仿真的通信模型并发执行,能够满足大规模仿真系统运行的需求;(2)采用本发明的通信效能仿真计算方法,能够减少通信效能仿真的计算开销,避免多个通信效能仿真模型的并发计算,提高仿真系统运行的实时性。


图1为仿真通信框架组成示意图;图2为通信效能计算模型部署模块示意图;图3为计算服务端通信模型部署流程图;图4为计算服务端通信模型反部署流程图;图5为仿真通信框架计算服务端模型加载流程图;图6为计算服务端模型初始化流程图;图7为计算服务端通信效能参数计算流程图;图8为计算服务端通信效能参数更新流程图。
具体实施例方式下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。为了解决仿真系统运行过程中,不同仿真节点之间通信链路仿真以及多链路并发模拟的问题,如图1所示,本发明提供的一种分布式的基于组件的仿真通信框架,由仿真通信框架计算服务端(简称计算服务端或服务端)和仿真通信框架客户端(简称框架客户端或通信客户端或客户端)两个部分组成。其中仿真通信框架计算服务端包括通信计算服务端部署模块(即通信效能计算模型部署模块)、通信模型初始化模块、通信模拟计算请求处理模块、仿真通信框架客户端同步模块,它们统一部署在服务端的服务器上。仿真通信框架客户端部署在构成仿真系统的多个仿真节点之上,与仿真通信框架计算服务端进行信息交互和数据传输,仿真通信框架客户端包括计算服务端同步模块、通信效果模拟反馈模块、节点状态上报模块。仿真通信框架(简称框架)在使用过程中会自动加载配置所需的仿真通信效能计算模型(简称模型或通信模型),这些模型在使用前需要部署到框架中。当仿真通信效能计算模型开发结束后,可以由开发人员部署到框架中。图2为本发明仿真通信框架中所示通信效能计算模型部署模块结构示意图。仿真通信效能计算模型开发完成后,通过模型部署模块接入到通信框架中,供仿真试验使用。如图所示,本发明模型部署模块具有部署、反部署和重部署功能。模型的部署是指将已经开发好的通信效能计算模型装载入仿真通信框架中,使其可以被调用的过程。模型部署模块除了具有部署的功能外,还需要提供将已经过期的通信效能计算模型反部署的功能,以及提供更新已部署模型的重部署功能。通常,一个仿真通信效能计算模型为一个DLL文件,它是该模型处理逻辑的执行程序;除了执行程序以夕卜,为了完成部署/反部署/重部署功能,还必须提供模型的配置文件,该配置文件为XML格式。在配置文件中,描述的内容包括:模型的初始化参数列表、初始化参数的存储信息、模型的标识、模型对应的仿真节点标识、模型的接口参数。图3为部署子模块工作流程图。如图所示,部署子模块执行以下操作:I)开始;2)查询需要部署模型的执行程序DLL文件是否存在;3)如果存在,则读取该模型的配置文件和DLL文件;4)部署子模块将拷贝该配置文件和模型DLL文件到指定的目录中;5)结束部署;图4为反部署子模块工作流程。如图所示,反部署模块执行以下操作:I)开始反部署;2)指定反部署的通信模型ID ;3)如果该模型已经部署,则开始执行反部署操作;反之,结束反部署操作,转步骤8 ;4)如果框架软件已经启动,则开始执行反部署操作;反之,结束反部署操作,转步骤8 ;5)在指定的文件目录中删除该模型的执行程序DLL文件;6)在指定的文件目录中删除该模型的配置文件;7)从仿真通信框架模型配置信息中删除该模型的记录;8)结束反部署操作;每次仿真系统试验过程中会使用不同的通信效能计算模型,因此仿真通信框架计算服务端在启动后,根据仿真试验系统的需求,将会自动加载本次仿真试验需要使用的通信效能计算模型。加载时需要依赖预先配置的模型加载配置文件信息,该配置文件以XML格式存在。图5为仿真通信框架计算服务端的通信模型加载流程。如图所示,仿真通信框架计算服务端执行以下操作:I)首先启动仿真通信框架计算服务端软件;2)仿真通信框架计算服务端启动成功后,将读取需要加载的仿真通信模型的配置文件;3)如果配置文件存在,读取该配置文件,获取当前需要加载的仿真通信模型列表以及每个通信模型的初始化参数信息,并保存在内存中;如果配置文件不存在,则直接结束加载过程,转步骤6;4)遍历加载模型列表,根据模型的启动路径信息加载该模型的DLL文件;5)如果模型列表中的所有模型均已加载成功,则结束加载过程;反之,转步骤4 ;6)结束加载过程;模型加载成功后,计算服务端将根据配置文件对每个加载的模型进行初始化。初始化过程如图6所示。I)计算服务端读取在模型加载过程中保存的模型列表信息,依次遍历模型列表,读取还未被初始化的模型初始化参数信息;参数信息内容包括本次试验中该模型需要初始化的参数列表、每个初始化参数的初始值;
2)仿真通信框架计算服务端软件访问后台数据库,根据模型标识读取模型初始化参数;如果数据库访问失败,转步骤5,结束该模型初始化过程,并报错;3)根据读取的初始化参数,对通信效能计算模型进行初始化操作;4)如果所有通信效能计算模型均初始化,则结束初始化过程;否则,转步骤I ;5)结束初始化过程;通信效能计算模型初始化完成后,仿真通信框架计算服务端将会对仿真试验中模拟的每条通信链路依次计算其通信效能参数,计算过程如图7所示;计算完成后,仿真通信框架计算服务端将计算结果同步到链路两端的仿真节点上的仿真通信框架客户端。客户端接收通信效能参数后,将对每条通过该链路发送的消息叠加通信效能参数,直到该通信链路的链路性能参数发生变化时,需要计算服务端重新根据新的链路性能参数计算通信效能参数并重新同步,其过程如图8所示。I)计算服务端加载模型;2)计算服务端初始化模型;3)计算服务端软件遍历当前已经接入的仿真节点列表;4)选择仿真节点,依次遍历与该仿真节点相邻的通信链路;根据该链路两端的仿真节点匹配通信效能计算模型;如果该模型存在,向通信效能计算模型发送计算请求;5)计算服务端接收通信效能计算模型计算得到的通信链路通信效能参数,并将该通信效能参数同步到链路两端的仿真节点的通信框架客户端;6)如果所有的仿真节点均已遍历,则结束计算过程;反之,转步骤4 ;7)结束计算过程;在仿真试验过程中,通信链路的性能参数会发生变化,当某条通信链路的性能参数发生变化时,该链路的通信效能参数也随之变化,因此,需要重新按照新的通信链路性能参数计算通信效能参数。通信链路的链路性能参数变更可以通过计算服务端中所述状态更新子模块提供人机交互界面手工输入修改或者通过通信框架客户端中所述节点状态上报模块将仿真节点的变更后的链路性能参数信息定时上报给计算服务端。I)计算服务端接收到链路状态变更的消息,将该消息保存到状态变更消息队列中;2)所述仿真通信框架客户端同步模块记录下通信链路两端的仿真节点编号;3)所述仿真通信框架客户端遍历保存的通信效能计算模型,并将第2步中记录的通信链路两端的节点编号与该通信效能计算模型中的仿真节点链路匹配;4)如果该模型对应的通信链路端节点与变更的仿真节点相同,则根据变更的链路性能参数计算该链路变更后的通信效能参数;反之,继续遍历,返回步骤3 ;5)所述仿真通信框架客户端同步模块向该链路两端的仿真节点上的通信框架客户端同步变更后的通信效能参数;6)结束同步过程。
权利要求
1.一种分布式的仿真通信框架,包括仿真通信框架计算服务端和仿真通信框架调用客户端,其特征在于:所述仿真通信框架计算服务端包括通信效能计算模型部署模块、通信模型初始化模块、通信模拟计算请求处理模块和仿真通信框架客户端同步模块;所述仿真通信框架调用客户端包括计算服务端同步处理模块、通信模拟效果反馈模块和节点状态上报模块; 所述通信效能计算模型部署模块用于将开发好的通信效能计算模型部署到框架中,使该通信效能计算模型可被用户调用; 所述通信模型初始化模块用于在所述计算服务端启动后自动加载和初始化当前配置的通信效能计算模型; 所述通信模拟计算请求处理模块用于接收所述客户端发送的计算请求消息,对消息进行解析,根据解析后的消息内容调用通信效能计算模型完成通信仿真模拟计算,得到通信效能参数; 所述仿真通信框架客户端同步模块用于将计算获得的链路的通信效能参数发送给链路两端的仿真节点上部署的仿真通信框架调用客户端; 所述计算服务端同步处理模块用于接收来自所述计算服务端的通信效能参数,并保存; 所述通信模拟效果反馈模块用于在仿真节点发送信息时,将信息发送链路的通信效能参数叠加到当前仿真节点的链路性能参数中; 所述节点状态上报模块用于将当前仿真节点的链路性能参数信息上报给仿真通信框架计算服务端。
2.根据权利要求1所 述分布式的仿真通信框架,其特征在于:所述通信效能计算模型为DLL格式的文件;所述通信效能计算模型部署模块包括本地文件夹监视接口、部署子模块和反部署子模块,其中:本地文件夹监视接口用于接收本地或远程的DLL文件,并将接收到的文件传输给部署子模块或反部署子模块;部署子模块和反部署子模块将DLL文件部署或反部署到计算服务端的指定目录中。
3.根据权利要求1所述分布式的仿真通信框架,其特征在于:所述通信模型初始化模块用于在所述计算服务端启动后自动加载和初始化当前配置的通信效能计算模型,并根据所述通信效能计算模型的ID号从数据库中读取该模型的初始化参数信息,完成模型初始化操作。
4.根据权利要求3所述分布式的仿真通信框架,其特征在于:所述模型的初始化参数信息存储在oracle数据库中。
5.根据权利要求3所述分布式的仿真通信框架,其特征在于:所述计算服务端启动后,根据配置文件加载通信效能计算模型,所述配置文件以xml格式存在,配置文件的内容包括模型ID、模型名称和模型的初始化参数信息。
6.根据权利要求1所述分布式的仿真通信框架,其特征在于:所述计算服务端同步处理模块包括节点管理子模块、状态更新子模块和节点同步子模块;所述节点管理子模块用于管理当前所有运行仿真通信框架调用客户端的仿真节点信息,监控每个仿真节点的状态;所述状态更新子模块用于接收仿真节点状态更新的消息,并根据更新后的链路性能参数计算该节点与其它相邻仿真节点的通信效能参数信息;所述节点同步子模块用于将状态更新后新计算的仿真节点通信效能参数信息发送给该仿真节点。
7.根据权利要求1所述分布式的仿真通信框架,其特征在于:所述通信效能参数包括通信延迟时间和误码率。
8.根据权利要求6所述分布式的仿真通信框架,其特征在于:所述状态更新子模块提供仿真节点链路性能参数更新接口和人机交互界面,允许操作人员通过手工的方式修改不同仿真节点的链路性能参数。
9.根据权利要 求1所述分布式的仿真通信框架,其特征在于:所述节点状态上报模块定义了 3个标准接口:节点接入接口、节点注销接口和节点状态上报接口。
10.一种分布式的通信效能仿真计算方法,包括如下步骤: (1)采用服务端-客户端的C/S架构,由服务端的高性能计算机完成通信效能计算,并将每个仿真节点的通信效能模拟的链路性能参数同步到不同的仿真节点; (2)每个仿真节点的通信效能计算过程在仿真模型加载、初始化完成以后自动进行; (3)当仿真节点之间的链路性能参数没有发生变化时仿真节点之间的通信效能参数将不重复计算;直到仿真节点之间的链路性能参数发生变化,且仿真通信框架接收到变化后的链路性能参数,仿真通信框架才重新计算发生变化的通信链路的通信效能参数,并将计算结果同步到该链路的两个仿真节点上的仿真通信框架调用客户端。
全文摘要
本发明公开了一种分布式的仿真通信框架,包括仿真通信框架计算服务端和仿真通信框架调用客户端,所述仿真通信框架计算服务端包括通信效能计算模型部署模块、通信模型初始化模块、通信模拟计算请求处理模块和仿真通信框架客户端同步模块;所述仿真通信框架调用客户端包括计算服务端同步处理模块、通信模拟效果反馈模块和节点状态上报模块。所述仿真通信框架支持不同类型通信链路仿真的通信模型并发运行,能够满足仿真系统运行的需求。本发明还公开了一种分布式的通信效能仿真计算方法,尽可能避免多个通信效能仿真模型的并发计算,减少对计算资源的消耗。
文档编号H04L29/08GK103152380SQ20121059150
公开日2013年6月12日 申请日期2012年12月31日 优先权日2012年12月31日
发明者俞杰, 刘中伟, 崔鹏, 谢斌, 林剑柠 申请人:中国电子科技集团公司第二十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1