法律状态公告日
法律状态信息
法律状态
2019-10-08
未缴年费专利权终止 IPC(主分类):G06F9/455 授权公告日:20180706 终止日期:20181015 申请日:20141015
专利权的终止
2018-07-06
授权
授权
2015-09-16
实质审查的生效 IPC(主分类):G06F9/455 申请日:20141015
实质审查的生效
2015-08-19
公开
公开
技术领域
本发明涉及计算机仿真技术领域,特别涉及一种基于高层体系结构的数据收集方法。
背景技术
高层体系结构(High Level Architecture,HLA)是仿真技术发展的新阶段,已成为目前仿真所采用的主要结构。与传统的DIS相比,HLA通过采取一系列的措施,提高了仿真系统间的互操作性和仿真模型的可重用性,然而,HLA在提高可重用性和互操作性的同时也导致了仿真数据的复杂化,从而增加了仿真系统实现数据收集及记录的难度,而数据收集是仿真的一项重要内容,只有通过数据收集才可以实现回放、分析、评价等仿真目的。
目前,在HLA中通常利用以下三种方法将数据收集的功能加入仿真程序:
第一种:集中式的日志联邦成员,该联邦成员的唯一功能就是数据收集、订购并记录所有收到的数据。
第二种:完全分散式,即将数据收集功能直接加入到各个仿真成员程序中。
第三种:是运行支撑系统(RTI:Runtime Infrastructure)接口日志,其存在于仿真成员软件与RTI的API之间,收集从联邦成员到RTI及从RTI到联邦成员的数据。
针对上述三种数据收集方法,HLA仿真系统中所采用的集中式数据记录机制将会导致网络拥塞和处理机负载过大,从而成为整个仿真系统的瓶颈;而且,在网络数据传输率达到峰值的情况下,必然造成数据丢失,进而影响统计分析结果的可信度。完全分散式以及RTI记录中间件等记录机制,尽管能够在一定程度上缓解仿真规模与广域网低带宽之间的矛盾,减 小数据记录对仿真系统的负面影响,但是由于记录数据的分散性,难以有效支持系统在线实时统计分析、AAR以及仿真过程回放需求,且易造成记录冗余数据和记录数据范围的空白区。
发明内容
本发明需解决的技术问题是提供一种基于高层体系结构的数据收集方法,以缓解由于网络数据量达到峰值而导致网络拥塞的问题,并同时能够支持仿真系统在线实时分析、数据查询和事后回顾分析等。
为解决上述问题,本发明提供一种基于高层体系结构的数据收集方法,其采用的技术方案如下:
S1、将高层体系结构仿真系统中的各联邦成员初始化,所述各联邦成员分别包含多个数据记录子模块,初始设置多个数据记录子模块的收集任务;
S2、基于运行支撑系统,从多个联邦成员中选择一个联邦成员创建联邦执行连接,并将其他联邦成员加入到所述联邦执行中;
S3、所述多个联邦成员分别通过其通信接口向所述运行支撑系统订购各自的对象类和属性,所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员;
S4、所述各联邦成员按照初始设置的多个数据记录子模块的收集任务,将接收到的数据分配到多个数据记录子模块中,并对所述多个数据记录子模块的负载进行监控,得到各数据记录子模块的当前负载量;
S5、当所述各联邦成员接收到新的数据时,所述各联邦成员根据各数据记录子模块的当前负载量,对多个数据记录子模块的收集任务进行动态调度,并将各数据记录子模块收集的数据进行存储,完成仿真数据的收集。
优选的,所述步骤S1中,对于每一个联邦成员,根据预设的数据收集量S,初始设置多个数据记录子模块的收集任务Si,其中,1≤i≤n,所述Si满足:S=S1∪S2∪S3…Sn。
优选的,所述步骤S1中,初始设置多个数据记录子模块的收集任务Si时,所述多个数据记录子模块的收集任务满足:
Sj∩Sk为空集,其中,j,k∈i;j≠k;和/或|S1|=|S2|=|S3|=…=|Sn|。
优选的,所述步骤S3进一步包括:
S31、基于运行支撑系统,为每个对象创建订购区域与更新区域;
S32、对于每一个对象,从其他对象中发现与该对象相关的更新区域,将该对象与所述更新区域连接;
S33、根据每个对象公布的交互类属性,将各联邦成员与该对象的订购区域连接,完成各联邦成员各自的对象类的订购;
S34、所述运行支撑系统为各联邦成员发现对象,被发现的对象将其更新属性值提供给运行支撑系统,所述运行支撑系统将所述更新属性值分发给各联邦成员,完成各联邦成员各自的对象类属性的订购;
S35、所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员。
优选的,所述步骤S4进一步包括:
所述各联邦成员通过管理器对所述多个数据记录子模块的运行状态进行监控;
所述管理器根据各数据记录子模块的运行状态,计算各数据记录子模块的当前负载量LC,得到各数据记录子模块的当前负载量,其计算公式如下:
LC=f(C)·C+g(M)·M+h(N)·N
其中,C表示该数据记录子模块的CPU利用率,M表示该数据记录子模块的内存利用率,N表示该数据记录子模块的网络带宽利用率;f(C)、g(M)、h(N)分别表示C、M、N的正值函数。
优选的,所述步骤S5进一步包括:
S51、管理器根据各数据记录子模块的当前负载量,计算该数据记录子 模块未来时刻的负载量LC,其计算公式如下:
Le=LC+nt·(LC-LS)/mt
其中,LS为该数据记录子模块过去时刻的负载量,nt表示该数据记录子模块未来时刻和当前时刻的时间间隔,mt表示该数据记录子模块当前时刻和过去时刻的时间间隔,n和m均为常数;
S52、判断各数据记录子模块未来时刻的负载量是否超过负载阈值,若是,则当该联邦成员接收到新的数据时,将该数据记录子模块的后续任务中的部分任务调度给负载量小于负载阈值的数据记录子模块;
S53、将各数据记录子模块收集的数据进行存储,完成仿真数据的收集。
本发明的有益效果是:本发明提供的一种基于高层体系结构的数据收集方法,通过设置多个联邦成员分别利用其通信接口与运行支撑系统进行通信来获取需收集的数据,进而实现了联邦成员间的相互通信,且由于多个联邦成员所收集的数据均经过运行支撑系统,从而降低了数据记录的分散性,以实现有效支持仿真系统的在线实时分析、数据查询和事后回顾分析等,同时,设置联邦成员分别包含多个数据记录子模块,通过动态调度各数据记录子模块的负载,实现了资源的有效利用,从而缓解了由于网络数据量达到峰值而导致网络拥塞的问题;本发明易于操作,便于推广。
具体实施方式
下面结合实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供一种基于高层体系结构的数据收集方法,包括以下步骤:
S1、将高层体系结构仿真系统HLA中的各联邦成员初始化,所述各联邦成员分别包含多个数据记录子模块,初始设置多个数据记录子模块的收集任务;
对于每一个联邦成员,根据预设的数据收集量S,初始设置多个数据记录子模块的收集任务Si,其中,1≤i≤n,所述Si满足:S=S1∪S2∪S3…Sn。
优选的,所述步骤S1中,初始设置多个数据记录子模块的收集任务Si 时,用户可以根据数据收集需求,选择所述多个数据记录子模块的收集任务满足条件:
Sj∩Sk为空集,其中,j,k∈i;j≠k;和/或|S1|=|S2|=|S3|=…=|Sn|。
S2、基于运行支撑系统RTI,从多个联邦成员中选择一个联邦成员创建联邦执行连接,并将其他联邦成员加入到所述联邦执行中;
运行支撑系统RTI(Run time Infrastructure)是一组软件,用来实现一个联邦执行中各个联邦成员之间的交互作用,即RTI作为联邦执行的核心,在一个联邦执行过程中,所有的联邦成员应该按照HLA接口规范说明所要求的方式同它进行数据交换,以实现联邦成员间的交互作用。运行支撑系统RTI提供了6种服务,分别为联邦管理服务、声明管理服务、对象管理服务、所有权管理服务、时间管理服务、数据分发管理服务。其中,联邦管理服务主要提供创建、删除、加入和退出联邦运行等服务。
在该步骤中,通过调用联邦管理服务的“创建联邦执行服务”创建一个联邦执行连接;通过调用联邦管理服务的“加入联邦执行服务”,将其他联邦成员加入到所述联邦执行中。
S3、所述多个联邦成员分别通过其通信接口向所述运行支撑系统订购各自的对象类和属性,所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员;
在本发明中,各联邦成员均包括一系列的通信接口,这些通信接口与运行支撑系统RTI的环境一致,各联邦成员分别通过其通信接口向运行支撑系统订购各自的对象类和属性;
在HLA中,对象属于对象类,是对象类的实例。对象成员在加入联邦执行时,可以通过RTI的声明管理服务DM来声明它能提供的对象属性和订购它需要的属性,即对象成员使用DM中的“公布对象类服务”来表示它能对某类对象建立动态模型,在联邦执行中负责运行动态模型来更新对象的属性并向外提供;使用“订购对象类服务”来表示它希望获得属于某 类对象的属性。
各联邦成员分别通过其通信接口向运行支撑系统订购各自的对象类和属性;具体包括:
S31、基于运行支撑系统,为每个对象创建订购区域与更新区域;
通过RTI提供的数据分发管理服务DDM为每个对象创建订购与更新区域。一个路径空间是一个多维的坐标系统,是联邦执行中属性值构成的数据空间,对象成员可用它表达希望接收和发送数据的范围。订购区域与更新区域是路径空间的子集,订购区域用来表明对象希望接收到该区域内的信息,更新区域表示成员承诺发出进入该区域的属性值。
S32、对于每一个对象,从其他对象中发现与该对象相关的更新区域,将该对象与所述更新区域连接;
每个对象在创建时,都会公布其属性及其希望交互的类的属性。在本步骤中,根据其公布的属性,从其他对象中发现与该对象相关的更新区域,将该对象与对应的更新区域连接起来。
S33、根据每个对象公布的交互类属性,将各联邦成员与该对象的订购区域连接,完成各联邦成员各自的对象类的订购;
S34、所述运行支撑系统通过RTI提供的对象管理服务OM为各联邦成员发现对象,被发现的对象将其更新属性值提供给运行支撑系统RTI,所述运行支撑系统RTI将所述更新属性值分发给各联邦成员,完成各联邦成员各自的对象类属性的订购;
S35、所述运行支撑系统根据各联邦成员的对象类和属性,将仿真运行中产生的数据分发给各联邦成员。
S4、所述各联邦成员按照初始设置的多个数据记录子模块的收集任务,将接收到的数据分配到多个数据记录子模块中,并对所述多个数据记录子模块的负载进行监控,得到各数据记录子模块的当前负载量;具体包括:
数据记录子模块实时接收数据,并向管理器报告自身运行状态;
预设监控时间间隔t,所述管理器根据各数据记录子模块的运行状态,每t秒计算一次各数据记录子模块的当前负载量LC,得到各数据记录子模块的当前负载量,其计算公式如下:
LC=f(C)·C+g(M)·M+h(N)·N
其中,C表示该数据记录子模块的CPU利用率,M表示该数据记录子模块的内存利用率,N表示该数据记录子模块的网络带宽利用率;f(C)、g(M)、h(N)分别表示C、M、N的正值函数;
优选的,管理器维护一张负载量表table,记录当前时刻每一数据记录子模块的负载量并按负载量的降序或者升序排列,该表每t秒更新一次。
S5、当所述各联邦成员接收到新的数据时,所述各联邦成员根据各数据记录子模块的当前负载量,对多个数据记录子模块的收集任务进行动态调度,并将各数据记录子模块收集的数据进行存储,完成仿真数据的收集,具体包括:
S51、管理器根据各数据记录子模块的当前负载量,计算该数据记录子模块未来时刻的负载量Le,其计算公式如下:
Le=LC+nt·(LC-LS)/mt
其中,LS为该数据记录子模块过去时刻的负载量,nt表示该数据记录子模块未来时刻和当前时刻的时间间隔,mt表示该数据记录子模块当前时刻和过去时刻的时间间隔,n和m均为常数;
S52、管理器通过Q学习算法产生调度决策,若发现将来某一时刻某一记录子模块的负载量Le超过其最大负载量L的k倍时,就需要将该数据记录子模块的后续任务调度至负载较轻的数据记录子模块;其中,k为用户根据实际情况设定的比例系数,一般设定为60%~90%;
若判断各数据记录子模块未来时刻的负载量将超过负载阈值,则当该联邦成员接收到新的数据时,将该数据记录子模块的后续任务中的部分任务调度给负载量小于负载阈值的数据记录子模块;基于尽可能少量的调度 和避免重复调度的准则,尽可能的调度给负载最轻的数据记录子模块。
S53、将各数据记录子模块收集的数据进行存储,完成仿真数据的收集。
此外,本发明中的联邦成员还包括数据处理模块,用于处理用户的实时请求,其具体步骤如下:
1)联邦成员接受用户的请求,并依据各数据记录子模块的当前负载状态判断是否对该请求做出响应。如果当前负载允许,则接受请求;反之,则将该请求通过RTI发送给其它的联邦成员;
2)对当前接受的请求进行分析,判断该请求数据是否与当前联邦成员数据库中的数据吻合。如果吻合,则将该请求近通信接口发送至联邦成员的数据处理模块,并执行步骤3);如果不吻合,则将该请求加上时间戳发送给其它的联邦成员。
3)该数据处理模块将通信接口送来的请求,将相应的数据返回给用户。
本发明的有益效果是:本发明提供的一种基于高层体系结构的数据收集方法,通过设置多个联邦成员分别利用其通信接口与运行支撑系统进行通信来获取需收集的数据,进而实现了联邦成员间的相互通信,且由于多个联邦成员所收集的数据均经过运行支撑系统,从而降低了数据记录的分散性,以实现有效支持仿真系统的在线实时分析、数据查询和事后回顾分析等,同时,设置联邦成员分别包含多个数据记录子模块,通过动态调度各数据记录子模块的负载,实现了资源的有效利用,从而缓解了由于网络数据量达到峰值而导致网络拥塞的问题;本发明易于操作,便于推广。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
机译: 一种方法和节点,用于在基于服务的体系结构中的网络功能,NF中提供的网络功能,基于服务的架构,SBA,基于服务的电信网络中的服务和节点
机译: 一种方法和节点,用于在基于服务的体系结构中的网络功能,NF中提供的网络功能,基于服务的架构,SBA,基于服务的电信网络中的服务和节点
机译: 一种系统和方法,通过该系统和方法,手机可以在端到端安全管理应用程序中与低功耗蓝牙(BLE)设备进行通信,从而提供自动检入/检出功能,自动显示安全消息,自动数据收集,触发胁迫短信,能够通过BLE硬件监视远程人员或电子邮件的状态。该系统通过手机上的“应用”运行。手机应用程序连接到基于云的监视系统以跟踪上述任务。任务由BLE Beacon硬件激活。