一种基于高层体系结构的数据收集方法

文档序号:8528059阅读:330来源:国知局
一种基于高层体系结构的数据收集方法
【技术领域】
[0001]本发明涉及计算机仿真技术领域,特别涉及一种基于高层体系结构的数据收集方法。
【背景技术】
[0002]高层体系结构(High Level Architecture,HLA)是仿真技术发展的新阶段,已成为目前仿真所采用的主要结构。与传统的DIS相比,HLA通过采取一系列的措施,提高了仿真系统间的互操作性和仿真模型的可重用性,然而,HLA在提高可重用性和互操作性的同时也导致了仿真数据的复杂化,从而增加了仿真系统实现数据收集及记录的难度,而数据收集是仿真的一项重要内容,只有通过数据收集才可以实现回放、分析、评价等仿真目的。
[0003]目前,在HLA中通常利用以下三种方法将数据收集的功能加入仿真程序:
[0004]第一种:集中式的日志联邦成员,该联邦成员的唯一功能就是数据收集、订购并记录所有收到的数据。
[0005]第二种:完全分散式,即将数据收集功能直接加入到各个仿真成员程序中。
[0006]第三种:是运行支撑系统(RT1:Runtime Infrastructure)接口日志,其存在于仿真成员软件与RTI的API之间,收集从联邦成员到RTI及从RTI到联邦成员的数据。
[0007]针对上述三种数据收集方法,HLA仿真系统中所采用的集中式数据记录机制将会导致网络拥塞和处理机负载过大,从而成为整个仿真系统的瓶颈;而且,在网络数据传输率达到峰值的情况下,必然造成数据丢失,进而影响统计分析结果的可信度。完全分散式以及RTI记录中间件等记录机制,尽管能够在一定程度上缓解仿真规模与广域网低带宽之间的矛盾,减小数据记录对仿真系统的负面影响,但是由于记录数据的分散性,难以有效支持系统在线实时统计分析、AAR以及仿真过程回放需求,且易造成记录冗余数据和记录数据范围的空白区。

【发明内容】

[0008]本发明需解决的技术问题是提供一种基于高层体系结构的数据收集方法,以缓解由于网络数据量达到峰值而导致网络拥塞的问题,并同时能够支持仿真系统在线实时分析、数据查询和事后回顾分析等。
[0009]为解决上述问题,本发明提供一种基于高层体系结构的数据收集方法,其采用的技术方案如下:
[0010]S1、将高层体系结构仿真系统中的各联邦成员初始化,所述各联邦成员分别包含多个数据记录子模块,初始设置多个数据记录子模块的收集任务;
[0011]S2、基于运行支撑系统,从多个联邦成员中选择一个联邦成员创建联邦执行连接,并将其他联邦成员加入到所述联邦执行中;
[0012]S3、所述多个联邦成员分别通过其通信接口向所述运行支撑系统订购各自的对象类和属性,所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员;
[0013]S4、所述各联邦成员按照初始设置的多个数据记录子模块的收集任务,将接收到的数据分配到多个数据记录子模块中,并对所述多个数据记录子模块的负载进行监控,得到各数据记录子模块的当前负载量;
[0014]S5、当所述各联邦成员接收到新的数据时,所述各联邦成员根据各数据记录子模块的当前负载量,对多个数据记录子模块的收集任务进行动态调度,并将各数据记录子模块收集的数据进行存储,完成仿真数据的收集。
[0015]优选的,所述步骤SI中,对于每一个联邦成员,根据预设的数据收集量S,初始设置多个数据记录子模块的收集任务Si,其中,I Si Sn,所述Si满足:S = Sl U S2 U S3…Sn0
[0016]优选的,所述步骤SI中,初始设置多个数据记录子模块的收集任务Si时,所述多个数据记录子模块的收集任务满足:
[0017]Sj n Sk 为空集,其中,j,k e i ; j 乒 k ;和 / 或 I SI I = I S2 I = I S3 I =…=Snl O
[0018]优选的,所述步骤S3进一步包括:
[0019]S31、基于运行支撑系统,为每个对象创建订购区域与更新区域;
[0020]S32、对于每一个对象,从其他对象中发现与该对象相关的更新区域,将该对象与所述更新区域连接;
[0021]S33、根据每个对象公布的交互类属性,将各联邦成员与该对象的订购区域连接,完成各联邦成员各自的对象类的订购;
[0022]S34、所述运行支撑系统为各联邦成员发现对象,被发现的对象将其更新属性值提供给运行支撑系统,所述运行支撑系统将所述更新属性值分发给各联邦成员,完成各联邦成员各自的对象类属性的订购;
[0023]S35、所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员。
[0024]优选的,所述步骤S4进一步包括:
[0025]所述各联邦成员通过管理器对所述多个数据记录子模块的运行状态进行监控;
[0026]所述管理器根据各数据记录子模块的运行状态,计算各数据记录子模块的当前负载量L。,得到各数据记录子模块的当前负载量,其计算公式如下:
[0027]Lc= f (C).C+g (M).M+h (N).N
[0028]其中,C表示该数据记录子模块的CPU利用率,M表示该数据记录子模块的内存利用率,N表示该数据记录子模块的网络带宽利用率;f (C)、g (M)、h (N)分别表示C、M、N的正值函数。
[0029]优选的,所述步骤S5进一步包括:
[0030]S51、管理器根据各数据记录子模块的当前负载量,计算该数据记录子模块未来时刻的负载量L。,其计算公式如下:
[0031]Le= L c+nt.(Lc-Ls) /mt
[0032]其中,Ls为该数据记录子模块过去时刻的负载量,nt表示该数据记录子模块未来时刻和当前时刻的时间间隔,mt表示该数据记录子模块当前时刻和过去时刻的时间间隔,η和m均为常数;
[0033]S52、判断各数据记录子模块未来时刻的负载量是否超过负载阈值,若是,则当该联邦成员接收到新的数据时,将该数据记录子模块的后续任务中的部分任务调度给负载量小于负载阈值的数据记录子模块;
[0034]S53、将各数据记录子模块收集的数据进行存储,完成仿真数据的收集。
[0035]本发明的有益效果是:本发明提供的一种基于高层体系结构的数据收集方法,通过设置多个联邦成员分别利用其通信接口与运行支撑系统进行通信来获取需收集的数据,进而实现了联邦成员间的相互通信,且由于多个联邦成员所收集的数据均经过运行支撑系统,从而降低了数据记录的分散性,以实现有效支持仿真系统的在线实时分析、数据查询和事后回顾分析等,同时,设置联邦成员分别包含多个数据记录子模块,通过动态调度各数据记录子模块的负载,实现了资源的有效利用,从而缓解了由于网络数据量达到峰值而导致网络拥塞的问题;本发明易于操作,便于推广。
【具体实施方式】
[0036]下面结合实施例,对本发明的【具体实施方式】作进一步详细描述。
[0037]本发明提供一种基于高层体系结构的数据收集方法,包括以下步骤:
[0038]S1、将高层体系结构仿真系统HLA中的各联邦成员初始化,所述各联邦成员分别包含多个数据记录子模块,初始设置多个数据记录子模块的收集任务;
[0039]对于每一个联邦成员,根据预设的数据收集量S,初始设置多个数据记录子模块的收集任务Si,其中,I ( i彡n,所述Si满足:S = SI U S2 U S3…Sn。
[0040]优选的,所述步骤SI中,初始设置多个数据记录子模块的收集任务Si时,用户可以根据数据收集需求,选择所述多个数据记录子模块的收集任务满足条件:
[0041]Sj n Sk 为空集,其中,j,k e i ; j 乒 k ;和 / 或 I SI I = I S2 I = I S3 I =…=Snl O
[0042]S2、基于运行支撑系统RTI,从多个联邦成员中选择一个联邦成员创建联邦执行连接,并将其他联邦成员加入到所述联邦执行中;
[0043]运行支撑系统RTI (Run time Infrastructure)是一组软件,用来实现一个联邦执行中各个联邦成员之间的交互作用,即RTI作为联邦执行的核心,在一个联邦执行过程中,所有的联邦成员应该按照HLA接口规范说明所要求的方式同它进行数据交换,以实现联邦成员间的交互作用。运行支撑系统RTI提供了 6种服务,分别为联邦管理服务、声明管理服务、对象管理服务、所有权管理服务、时间管理服务、数据分发管理服务。其中,联邦管理服务主要提供创建、删除、加入和退出联邦运行等服务。
[0044]在该步骤中,通过调用联邦管理服务的“创建联邦执行服务”创建一个联邦执行连接;通过调用联邦管理服务的“加入联邦执行服务”,将其他联邦成员加入到所述联邦执行中。
[0045]S3、所述多个联邦成员分别通过其通信接口向所述运行支撑系统订购各自的对象类和属性,所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员;
[0046]在本发明中,各联邦成员均包括一系列的通信接口,这些通信接口与运行支撑系统RTI的环境一致,各联邦成员分别通过其通信接口向运行支撑系统订购各自的对象类和属性;
[0047]在HLA中,对象属于对象类,是对象类的实例。对象成员在加入联邦执行时,可以通过RTI的声明管理服务DM来声明它能提供的对象属性和订购它需要的属性,即对象成员使用DM中的“公布对象类服务”来表示它能对某类对象建立动态模型,在联邦执行中负责运行动态模型来更新对象的属性并向外提供;使用“订购对象类服务”来表示它希望获得属于某类对象的属性。
[0048]各联邦成员分别通过其通信接口向运行支撑系统订购各自的对象类和属性;具体包括:
[0049]S31、基于运行支撑系统,为每个对象创建订购区域与更新区域;
[0050]通过RTI提供的数据分发管理服务DDM为每个对象创建订购与更新区域。一个路径空间是一个多维的坐标系统,是联邦执行中属性值构成的数据空间,对象成员可用它表达希望接收和发送数据的范围。订购区域与更新区域是路径空间的子集,订购区域用来表明对象希望接收到该
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1