法律状态公告日
法律状态信息
法律状态
2014-04-30
未缴年费专利权终止 IPC(主分类):G06F17/50 授权公告日:20100623 终止日期:20130307 申请日:20080307
专利权的终止
2010-06-23
授权
授权
2008-10-29
实质审查的生效
实质审查的生效
2008-09-03
公开
公开
技术领域
本发明属于计算机系统结构领域的分布式仿真技术,具体涉及一种基于网格的分布仿真平台数据收集系统,该系统构建在网格之上的HLA(HighLevel Architecture,高层体系结构)分布式仿真平台,并针对该系统平台进行数据收集。
背景技术
计算机仿真是指用计算机程序来模拟现实世界或虚拟世界的一门综合性技术。在不断增长的经济、军事需求的推动下,建模及仿真技术得到了迅猛发展,逐渐成为继理论研究和实验研究之后人类又一个认知和重建客观世界的工具。然而随着仿真应用的拓展和深入,出现了越来越多的单机仿真系统所不能解决的问题,于是人们将研究重点放在分布式仿真系统上。HLA是美国国防部1995年发布的建模与仿真技术框架。该框架已经成为大规模复杂分布式仿真的一种标准支撑框架。HLA分离了仿真程序逻辑和底层通信机制,简化了仿真应用之间的互操作,提高了仿真模型的可重用性。
然而随着HLA分布仿真应用的进一步深化,大规模、细粒度、长时间的分布仿真对系统的计算能力、可靠性、容错性的要求越来越高。单纯基于HLA架构的仿真系统存在计算资源利用率低下、容错能力不足的问题,并缺乏动态负载平衡能力、海量数据难以存储和有效处理、仿真应用部署繁琐、仿真应用间协作和互操作机制缺乏等问题。这些问题已成为制约仿真准确、大规模、高效地完成的瓶颈,成为仿真向“网络化、虚拟化、智能化、协同化、普适化”为特征的现代化方向发展的障碍。由于网格能将分布在不同地理位置的资源集成起来,为各种应用提供一种充分共享、无缝融合的资源使用环境。因此,基于网格的分布式仿真成为解决以上问题的主要途径之一。
仿真系统运行过程中的数据收集是分布式仿真研究的重要内容,只有通过数据收集才可以实现回放、分析、评价等仿真目的。但是随着越来越多的大规模、多联邦的仿真系统的出现,巨大的数据量以及数据的多样性和复杂性使得数据收集工作也越来越困难。从某种意义上说,数据收集系统的性能已经直接影响到整个仿真系统的性能,制约着其规模的进一步扩展。但是,目前国内外关于仿真网格的研究主要集中于如何通过网格技术解决仿真资源的共享与重用、协同互操作、动态优化调度运行,还没有进行对仿真网格中数据收集的研究和实现。
因此,研究如何利用网格体系结构所具有的分布性、标准性、开放性和高可扩展性等特点提高分布式仿真数据收集能力,在仿真网格上实现高效灵活的数据收集系统成为一项重要而急待解决的课题。
发明内容
本发明的目的提供一种基于网格的分布仿真平台数据收集系统,该系统可以提高分布式仿真数据收集能力,在仿真网格上进行高效灵活的数据收集。
本发明提供的基于网格的分布仿真平台数据收集系统,其特征在于:该系统包括仿真应用端、仿真数据收集服务端和仿真数据收集客户端,各仿真应用端内均设置有数据传输模块,仿真数据收集服务端内设置有记录管理服务模块、回放服务模块和记录服务模块;仿真数据收集客户端内分别设置有仿真数据查询和显示模块和仿真过程回放控制模块,其中,i为仿真联邦成员的个数,j为网格节点的个数,k为客户端的个数;
数据传输模块用于在仿真联邦成员开始运行时向记录管理服务模块申请记录资源容器,并保存包括仿真联邦中各个联邦成员调用运行时支撑框架服务时提供的仿真数据和时间信息,在仿真推进时将这些仿真数据和时间信息传递到记录管理服务模块给当前联邦成员所分配的记录服务模块;
记录服务模块均包含有一个记录服务管理器和多个记录资源容器,其中,记录资源容器用于保存仿真数据,记录服务管理器提供了以仿真时间为索引保存联邦成员的仿真数据的接口和按仿真时间对记录的仿真数据进行查询的接口;当数据传输模块调用记录服务管理器来保存仿真数据时,记录服务管理器将从各数据传输模块接收到的仿真数据以仿真时间为索引保存在记录资源容器中;当回放服务模块和仿真数据查询和显示模块需要读取仿真数据时,先从记录管理服务模块获得要读取的记录服务资源句柄,然后从相应的记录服务管理器把记录资源容器里保存的仿真数据按时间顺序读取出来;
记录管理服务模块用于分配、管理和查询记录服务资源,当数据传输模块向记录管理服务模块请求记录资源容器时,记录管理服务模块从其记录服务资源池中分配一个记录服务资源给数据传输模块;当回放服务模块和仿真数据查询和显示模块根据用户的请求需要读取仿真资源时,记录管理服务模块返回对应的记录服务资源句柄;
回放服务模块根据仿真过程回放控制模块指定的回放联邦成员,向记录管理服务模块查询出需要回放的联邦成员的记录服务资源句柄,然后根据该记录服务资源句柄,定时从记录资源中读取出仿真数据,进行仿真过程的回放;
仿真数据查询和显示模块根据用户请求,从记录服务模块中读取出需要的仿真数据,解析得到的仿真数据,并以图形形式提供给用户,并向用户提供查询并显示仿真数据的功能;
仿真过程回放控制模块根据用户的请求,通过调用回放服务模块,实现对仿真回放的控制。
本发明针对当前仿真网格上高效灵活的数据收集需求,结合网格应用的数据收集系统,提出了以仿真应用端、数据收集服务端、数据收集客户端为基础模块。本发明主要有如下特点:
(1)不干扰仿真的正常运行:本发明的数据收集操作与控制操作尽可能少地使用网络流量及主机的处理能力,即本发明所使用的网络资源和计算资源少;
(2)数据收集方案的可扩展性;
(3)保证HLA体系结构的开放性、灵活性和可扩展性;
(4)具备联邦成员独立性:本发明对联邦成员透明,联邦成员不需额外的配置,也不需要执行除仿真之外的其他任务;
(5)具备联邦独立性:本发明以较好的方式封装,整个框架能共享通用的接口、数据格式、核心处理模块,不必作大的修改就可以用于不同的联邦。
附图说明
图1为数据收集系统的总体结构示意图;
图2为数据传输模块的结构示意图;
图3为数据记录阶段工作流程示意图;
图4为数据回放阶段工作流程示意图。
具体实施方式
本系统运行在网格平台之上,对硬件环境没有特殊要求。下面结合附图对本发明作进一步详细的说明。
如图1所示,本发明数据收集系统包括仿真应用端1.1~1.i、仿真数据收集服务端2和仿真数据收集客户端3.1~3.k,仿真应用端1.1~1.i内设置有数据传输模块4.1~4.i,仿真数据收集服务端2内设置有记录管理服务模块5、回放服务模块6和记录服务模块7.1~7.j;仿真数据收集客户端3.1~3.k内分别设置有仿真数据查询和显示模块8.1~8.k和仿真过程回放控制模块9.1~9.k,其中,i为仿真联邦成员的个数,j为网格节点的个数,k为客户端的个数,i、j、k均为正整数。
为叙述方便,下文将数据传输模块4.1~4.i统称为数据传输模块4。如图2所示,每个数据传输模块4均包括传感模块4A、数据缓存4B和数据记录接口4C。传感模块4A是在运行时支撑框架(RTI)内部实现的。RTI是实现HLA标准中接口规范的软件,为仿真执行提供通用的服务。当一个仿真联邦成员开始运行时,传感模块4A首先向记录管理服务模块5申请一个记录资源容器。每个记录资源容器相当于一个仿真数据记录器,可以保存需要收集的仿真数据。这些需要收集的数据包括仿真联邦中各个联邦成员调用RTI服务时提供的仿真数据和时间信息。每当联邦成员调用了某个RTI服务时,传感模块就把这些需要收集的仿真数据和时间信息透明地保存在本地的数据缓存4B中。数据记录接口4C在仿真推进时从本地数据缓存4B中读出保存的仿真数据和时间信息,并按照仿真数据产生的时间先后顺序,将这些仿真数据和时间信息传递到记录管理服务模块5给当前联邦成员所分配的记录服务模块7.1~7.j。
记录服务模块7.1~7.j的作用是保存和读取仿真数据。每个记录服务模块7.1~7.j中都包含有一个记录服务管理器和一定个数的记录资源容器。记录资源容器的个数是在启动系统之前由系统管理员配置的,其作用是保存仿真数据。记录服务管理器提供了以仿真时间为索引保存联邦成员的仿真数据和按仿真时间对记录的仿真数据进行查询这两个接口。当数据记录接口4C调用记录服务管理器来保存仿真数据时,记录服务管理器把从数据传输模块4.1~4.i接收到的仿真数据以仿真时间为索引保存在记录资源容器中。当回放服务模块6和仿真数据查询和显示模块8.1~8.k需要读取仿真数据时,先从记录管理服务模块5获得要读取的记录服务资源句柄,然后从相应的记录服务管理器把记录资源容器里保存的仿真数据按时间顺序读取出来。
记录管理服务模块5用于分配、管理和查询记录服务资源。记录服务资源是个抽象概念,它实际上由一对记录服务管理器和记录资源容器组成。记录服务资源池是可用的记录服务资源的一个集合。记录管理服务模块5负责管理这些记录服务资源,并每隔一段时间对这些记录服务资源进行检测。对于已经出现故障的记录服务资源,将其从记录服务资源池中删除。如果记录服务资源使用完毕,则由记录管理服务模块5对其进行回收,以便下次使用。记录管理服务模块5对网格节点的负载进行判断,如果某个网格节点的CPU利用率小于预定的阀值(如60%),则生成新的记录服务资源,并将其加入记录服务资源池中。当传感模块4A向记录管理服务模块5请求记录资源容器时,记录管理服务模块5从其记录服务资源池中分配一个记录服务资源给对应的数据记录接口4C。当回放服务模块6和仿真数据查询和显示模块8.1~8.k根据用户的请求需要读取仿真资源时,记录管理服务模块5把对应的记录服务资源句柄返回过去。
回放服务模块6根据仿真过程回放控制模块9.1~9.k指定的回放联邦成员进行仿真的回放。首先,回放服务模块6向记录管理服务模块5查询出需要回放的联邦成员的记录服务资源句柄。然后根据这个记录服务资源句柄,定时从记录资源中读取出仿真数据,通过解析这些数据来调用相应的RTI服务完成仿真操作。为了提高并行处理能力,回放服务模块6采用了多线程技术。主线程在创建回放联邦成员时启动,主要负责根据从记录资源中读取的仿真数据调用相关RTI服务。仿真用户可以通过仿真过程回放控制模块9.1~9.k控制回放联邦成员的主线程。当仿真可以向前推进时,RTI会对回放联邦成员进行回调。回调接收线程在RTI每次回调回放联邦成员时启动,用于处理RTI对回放联邦成员的回调。
仿真数据查询和显示模块8.1~8.k用于向用户提供友好的图形人机界面,协助用户管理仿真数据记录资源。仿真数据查询和显示模块8.1~8.k根据用户请求,从记录服务模块7.1~7.j中读取出需要的仿真数据,解析得到的仿真数据,并以图形形式向用户展现。仿真数据查询和显示模块8.1~8.k还向用户提供查询并显示仿真数据的功能。
仿真过程回放控制模块9.1~9.k是用于控制仿真过程回放的客户端。仿真过程回放控制模块9.1~9.k根据用户的请求,通过调用回放服务模块6,实现对仿真回放的控制,包括自动回放、回放暂停、单步回放等。
本系统的工作流程主要分为仿真数据记录和仿真过程回放两个阶段。下面分别描述这两个阶段的工作流程。
阶段一:数据收集系统数据记录阶段工作流程如图4所示,分为如下几个步骤:
(A.1)用户通过数据收集客户端输入参数,包括要记录的联邦名、联邦成员名和要使用的数据记录资源,数据收集客户端将参数发送到数据收集服务端;
(A.2)数据收集服务端的数据记录管理服务响应数据收集客户端的服务请求,按要求分配相应的数据记录资源;
(A.3)数据收集客户端向分配的数据记录资源注册;
(A.4)仿真应用端的仿真程序启动,RTI以联邦名和联邦成员名为关键字向数据收集服务端的数据记录管理服务查询相关数据记录资源;
(A.5)数据收集服务端的数据记录管理服务将查询到的可用数据记录资源返回仿真应用端的RTI。
(A.6)仿真应用端的RTI向数据收集服务端的数据记录资源发送要记录的仿真数据。
(A.7)数据收集服务端的数据记录资源向数据收集客户端通知记录的仿真数据。
(A.8)检查仿真应用是否结束,未结束则返回步骤A.6继续执行。若结束则系统数据记录阶段完成。
阶段二:仿真过程回放阶段,其工作流程如图5所示,分为以下几个步骤:
(B.1)仿真用户通过客户端打开数据回放服务,并设置仿真环境;
(B.2)数据回放服务以联邦名和联邦成员名为关键字向仿真数据记录管理服务查询相关仿真数据记录资源;
(B.3)数据回放服务从仿真数据记录资源获得仿真联邦成员初始化信息;
(B.4)数据回放服务利用仿真联邦成员初始化信息初始化联邦成员,包括创建并加入联邦执行、公布声明和定购关系、确定联邦成员的时间推进策略、注册对象实例等;
(B.5)数据回放服务从仿真数据记录资源获得仿真联邦成员运行信息,如仿真联邦成员运行信息请求推进时间,仿真联邦成员运行信息调用RTI服务进行仿真对象属性更新,所有权转移等操作。
(B.6)判断仿真结束条件是否满足,是则跳转到(B.7),否则跳转到(B.5);
(B.7)数据回放服务退出并销毁联邦执行。系统数据回放阶段完成。
下面举例说明本系统实施过程中的配置情况:
整个数据收集系统部署在四台机器上,各机器的具体情况如表5.1和表5.2所示。由于Node2和Node3上需要部署网格服务,因此必须安装CGSP2.1~container;由于Node1上需要部署基于网格的分布式仿真平台的Portal,因此必须安装Apache Tomcat,推荐版本为5.5。
表5.1系统测试的软件部署
表5.2系统测试的硬件环境
该系统基于网格技术提供了仿真联邦数据记录、仿真联邦数据查询、仿真联邦结果回放等服务组件。系统的总体结构图如图1所示,整个系统分为下面几个部分:仿真应用端、数据收集服务端、数据收集客户端。
1.仿真应用端
仿真应用端由仿真联邦和运行时支撑环境(Run Time Infrastructure,RTI)组成,其中仿真联邦是由仿真应用开发者提供的用于实现特定目的的仿真程序;RTI是实现HLA标准中接口规范的仿真平台软件,为仿真执行提供通用的服务。数据收集的对象就是仿真联邦中各个联邦成员调用RTI服务时提供的数据和时间信息。为了使整个数据收集过程独立于联邦成员,本系统改写了RTI的实现,在其中加入将数据和时间信息传向数据收集网格服务的功能。这样每当联邦成员调用RTI,RTI就将这些信息透明地保存,并在适当的时候(比如请求时间推进时)将信息传向数据收集服务端。
2.数据收集服务端
数据收集服务端向仿真应用端的RTI和数据收集客户端提供了一系列处理仿真数据信息的网格服务,包括仿真数据记录管理服务、仿真数据记录服务、仿真过程回放服务等。仿真应用端的RTI使用这些服务保存先前记录下来的仿真数据,数据收集客户端使用这些服务来显示、查询仿真数据,并控制仿真程序回放过程。
3.数据收集客户端
数据收集客户端是提供给用户观看和控制仿真数据收集过程的应用程序和Web程序。它以统一直观的形式向用户展现整个仿真联邦范围内的数据信息,用户可以在仿真程序运行中查看这些信息,也可以在仿真程序运行后利用这些信息进行回放和事后分析。
为了提高系统性能,数据收集系统采用记录服务资源池技术动态分配和管理记录服务资源,因此降低了仿真应用运行前后的开销,提高了系统的响应速度,使整个系统具有高度的可扩展性;并采用双缓冲技术优化回放联邦成员的执行效率。
数据收集系统的运行过程可以分为数据记录阶段和仿真联邦回放阶段,下面分别说明这两个阶段的工作流程:
A.数据记录阶段工作流程:
首先,管理服务根据需要动态生成记录服务资源,并将生成的记录服务资源加入记录服务资源池中;
接着,仿真用户通过仿真网格门户创建仿真联邦,为联邦内的成员分配记录服务资源,并向该记录服务资源订阅包含实时仿真数据信息的通知;
然后,联邦成员在调用RTI某个服务时,RTI就将传入的仿真数据和时间信息透明地保存在本地的数据缓存中,并在请求时间推进时将其装入仿真数据包中传向记录服务资源;
最后,记录服务资源一旦收到来自RTI的仿真数据包就将解析并重新包装成含有实时仿真数据信息的通知发送到数据收集客户端,仿真用户也可以使用数据收集客户端查询感兴趣仿真数据信息。
B.数据回放阶段工作流程:
首先,仿真用户通过仿真网格门户生成若干个回放服务资源,并建立由这些回放服务资源组成的仿真过程回放联邦;
接着,仿真用户通过仿真网格门户输入仿真联邦需要的各种参数并开始仿真回放过程;
然后,仿真用户通过仿真网格门户控制仿真回放过程,包括暂停仿真回放过程,改变仿真回放模式等。
机译: 基于智能工厂框架的电源和分布网格的智能数据收集和分类系统
机译: 基于电力电子转换器的可重新配置网格仿真平台
机译: 基于电力电子转换器的可重新配置网格仿真平台