CN104202258B - 一种基于消息优先级的缓冲区协调方法 - Google Patents
一种基于消息优先级的缓冲区协调方法 Download PDFInfo
- Publication number
- CN104202258B CN104202258B CN201410424430.6A CN201410424430A CN104202258B CN 104202258 B CN104202258 B CN 104202258B CN 201410424430 A CN201410424430 A CN 201410424430A CN 104202258 B CN104202258 B CN 104202258B
- Authority
- CN
- China
- Prior art keywords
- message
- buffering area
- data
- buffer
- priority
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于分布式系统仿真领域,具体涉及一种基于消息优先级的缓冲区协调方法。本发明包括:通过分析仿真运行过程中出现的态势显示卡顿问题;分析联邦成员事件消息的类型及对仿真过程的作用,为事件消息划分优先级;在态势显示联邦成员中添加消息缓冲区,并按消息的种类划分缓冲区,该缓冲区位于视景显示单元程序与联邦成员消息数据接收程序之间;为每种消息数据缓冲区设置警戒值,当缓冲区占有量达到或超出警戒值时,对消息数据分情况处理;通过对数据的处理及优化缓冲区占有量,使态势显示效果趋于流畅。本发明动态调整缓冲区,从而在保证仿真过程逻辑正确性的前提下,提高态势显示效果的流畅度。
Description
技术领域
本发明属于分布式系统仿真领域,具体涉及一种基于消息优先级的缓冲区协调方法。
背景技术
随着仿真应用领域的不断拓展,分布式仿真技术已逐渐成为被广泛使用的主流技术。高层体系结构HLA(High Level Architecture)作为分布式仿真领域的标准体系结构,其提升了仿真系统互操作性和扩展性,并支持多种联邦成员进行交互。HLA提供了一种普遍适用的仿真功能框架,并对仿真系统组成成员的功能及相互间的关系给出了相应的定义。在这个框架下,各类仿真过程协同工作,实现了相互间的互操作。HLA将底层数据通信平台与上层仿真成员应用分离开,彼此之间相互“透明”,相互之间不影响对方的设计开发,提高了仿真系统开发的并行性和开发效率。
由美国AGI公司研制开发的卫星工具包STK(Satellite Tool Kit),是一款针对航天、空间仿真系统的分析软件,在军事仿真尤其是航天类仿真中扮演着十分重要的角色。STK具有逼真的显示效果、强大的后台计算和分析能力,能够为仿真系统提供可靠的计算分析数据,同时其提供的多种图、表显示功能,为开发人员对仿真过程的分析提供了更为直观的效果展示。
鉴于HLA与STK各自的功能特点,很多军事仿真都采用了基于HLA与STK的分布式仿真系统结构。该种结构既可通过HLA/RTI实现多成员联合仿真的系统要求,同时又能利用STK强大的显示功能对整个仿真过程进行态势显示。然而实际的仿真系统运行过程中,存在STK端态势显示不流畅的问题。分析其原因,是由于HLA端接收数据的速率远大于STK端提取数据的速率,造成数据处理不平衡,导致STK显示延后甚至停顿。
发明内容
本发明的目的在于提供一种基于消息优先级的缓冲区协调方法。
本发明的目的是这样实现的:
(1)通过分析仿真运行过程中出现的态势显示卡顿问题,得出该问题是由于视景显示单元对于消息数据的处理速率低于联邦程序对消息数据的接收速率,造成需显示数据囤积,从而导致显示效果的卡顿;
(2)分析联邦成员事件消息的类型及对仿真过程的作用,为事件消息划分优先级,优先级由高到低分别为:基于事件推进的成员消息、基于步长推进的成员消息、乐观时间推进的成员消息;
(3)在态势显示联邦成员中添加消息缓冲区,并按消息的种类划分缓冲区,该缓冲区位于视景显示单元程序与联邦成员消息数据接收程序之间;
(4)为每种消息数据缓冲区设置警戒值,当缓冲区占有量达到或超出警戒值时,对消息数据分情况处理;
(5)通过对数据的处理及优化缓冲区占有量,使态势显示效果趋于流畅。
步骤4,即当缓冲区占有量达到或超出缓冲区警戒值时,对消息数据的分情况处理情况,共分为三种情况:
(4.1)当缓冲区占有量小于警戒值时,缓冲区使用状况良好,无需调整;
(4.2)当缓冲区占有量达到警戒值时,对各类消息缓冲区中数据进行调整:对于基于事件推进的成员消息,由于其优先级最高,故对其采取最大程度的保留;对于基于步长推进的成员消息,由于其数据的产生方式具有一定的时间规律,故采取系统抽样的方式,以此缓解缓冲区压力;对于独立时间推进的成员消息,根据其产生规律及优先级,对其采取概率丢弃的方式,降低缓冲区占有量;
(4.3)当缓冲区占有量超出警戒值,甚至达到饱和状态时,根据消息优先级及缓冲区空间大小分七种情况进行处理;处理思路为:低优先级的消息缓冲区贡献出部分空闲空间给高优先级消息缓冲区,基于事件推进的成员消息缓冲区始终保留原始空间大小;基于步长推进的成员消息缓冲区饱和时,对已有数据采取系统抽样的方式,释放相应空间;乐观时间推进的成员消息缓冲区饱和时,对新进数据采取丢弃操作,以此缓解缓冲区压力。
本发明的有益效果在于:本发明通过在态势显示仿真程序中添加缓冲区,同时根据基于HLA的分布式仿真系统中的消息类型及特征,为联邦成员事件消息分配优先级,同时为不同消息划分缓冲区。在仿真运行过程中将各类消息的接收状况与缓冲区占有率相比较,动态调整缓冲区,从而在保证仿真过程逻辑正确性的前提下,提高态势显示效果的流畅度。
附图说明
图1本发明中缓冲区位置图;
图2本发明中缓冲区协调方法流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明提供了一种可提高分布式仿真系统显示效果的基于消息优先级的缓冲区协调方法。本发明目的在于解决基于HLA的分布式仿真系统中可能存在的视景显示不流畅问题。通过在态势显示仿真程序中添加缓冲区,同时为联邦成员事件消息分配优先级,根据不同消息划分缓冲区。在仿真运行过程中将各类消息的接收状况与缓冲区占有率相比较,动态调整缓冲区,从而在保证仿真过程逻辑正确性的前提下,提高态势显示效果的流畅度。
针对上述问题,本发明提出一种可提高分布式仿真系统显示效果的基于消息优先级的缓冲区协调方法。本方法通过在仿真程序中添加缓冲区,并根据联邦成员事件消息类型,对缓冲区进行划分,在仿真过程中,根据消息缓冲区的占有量,并结合事件消息的优先级,对缓冲区进行动态调整,缓解缓冲区压力,从而平衡视景显示端与数据接收端的处理速率不一致,使态势显示效果变得流畅。
本发明提供的基于消息优先级的缓冲区协调方法,当缓冲区占有量达到或超出缓冲区警戒值时,对消息数据的分情况处理情况,特别是当缓冲区达到饱和状态时,根据消息优先级及缓冲区空间大小分七种情况进行处理。处理思路为:低优先级的消息缓冲区贡献出部分空闲空间给高优先级消息缓冲区,基于事件推进的成员消息缓冲区始终保留原始空间大小;基于步长推进的成员消息缓冲区饱和时,对已有数据采取系统抽样的方式,释放相应空间;乐观时间推进的成员消息缓冲区饱和时,对新进数据采取丢弃操作,以此缓解缓冲区压力。
本发明提供的基于消息优先级的缓冲区协调方法,其步骤包括:
步骤1.通过分析仿真运行过程中出现的态势显示卡顿问题,得出该问题是由于视景显示单元对于消息数据的处理速率低于联邦程序对消息数据的接收速率,造成需显示数据囤积,从而导致显示效果的卡顿。
步骤2.分析联邦成员事件消息的类型及对仿真过程的作用,为事件消息划分优先级,优先级由高到低分别为:基于事件推进的成员消息、基于步长推进的成员消息、乐观时间推进的成员消息。
步骤3.在态势显示联邦成员中添加消息缓冲区,并按消息的种类划分缓冲区,该缓冲区位于视景显示单元程序与联邦成员消息数据接收程序之间。
步骤4.为每种消息数据缓冲区设置警戒值,当缓冲区占有量达到或超出警戒值时,对消息数据分情况处理。
4.1当缓冲区占有量小于警戒值时,缓冲区使用状况良好,无需调整。
4.2当缓冲区占有量达到警戒值时,对各类消息缓冲区中数据进行调整:对于基于事件推进的成员消息,由于其优先级最高,故对其采取最大程度的保留;对于基于步长推进的成员消息,由于其数据的产生方式具有一定的时间规律,故采取系统抽样的方式,以此缓解缓冲区压力;对于独立时间推进的成员消息,根据其产生规律及优先级,对其采取概率丢弃的方式,降低缓冲区占有量。
4.3当缓冲区占有量超出警戒值,甚至达到饱和状态时,根据消息优先级及缓冲区空间大小分七种情况进行处理。为方便描述,将基于事件推进的成员消息缓冲区记为EAMB;基于步长推进的成员消息缓冲区记为SAMB;乐观时间推进的成员消息缓冲区记为ITAMB。
1.EAMB占满,SAMB、ITAMB均有空闲。
SAMB、ITAMB贡献出部分空闲空间供EAMB使用。
2.SAMB占满,EAMB、ITAMB均有空闲。
EAMB保持不变,ITAMB贡献部分空闲空间供SAMB使用,同时SAMB对已有数据采取系统抽样的方式,缓解缓冲区压力。
3.ITAMB占满,EAMB、SAMB均有空闲。
EAMB、SAMB均不变,ITAMB对新进数据采取丢弃方式,在对已有数据提取的同时,释放缓冲区空间。
4.EAMB、SAMB占满,ITAMB有空闲。
ITAMB贡献部分空闲空间供EAMB使用,SAMB则对已有数据进行系统抽样,缓解缓冲区压力。
5.EAMB、ITAMB占满,SAMB有空闲。
SAMB贡献部分空闲空间供EAMB使用,ITAMB对新进数据采取丢弃方式,缓解缓冲区压力。
6.SAMB、ITAMB占满,EAMB有空闲。
EAMB空间保留,SAMB对已有数据采取系统抽样的方式,ITAMB对新近数据采取丢弃方式,释放缓冲区空间。
7.EAMB、SAMB、ITAMB均被占满。
ITAMB丢弃部分尾部数据,SAMB对已有数据扩大系统抽样的间隔,两者得到的空间供EAMB使用,同时ITAMB对新近数据采取丢弃策略,在最大程度保留EAMB数据的同时,降低缓冲区使用量。
步骤5.通过对数据的处理及优化缓冲区占有量,使态势显示效果趋于流畅。
通过分析影响态势显示效果现象,得出产生该种情况的根本原因是由于显示端处理数据速率与接收端接收数据速率不匹配,导致显示数据囤积,从而造成显示卡顿。本发明是针对该种原因提出一种可提高分布式仿真系统显示效果的基于消息优先级的缓冲区协调方法,图1表明了缓冲区在态势显示成员程序中的位置及缓冲区的划分,本发明方法的说明如下:
(1)在态势显示联邦成员中添加消息缓冲区,并按消息的种类划分缓冲区,该缓冲区位于视景显示单元程序与联邦成员消息数据接收程序之间,如图1所示。
(2)在内存中申请缓冲区,为联邦成员消息提供内存空间。其中联邦消息分为三类:分析联邦成员事件消息的类型及对仿真过程的作用,为事件消息划分优先级。消息优先级由高到低分别为:基于事件推进的成员消息、基于步长推进的成员消息、独立时间推进的成员消息。
图2则是该方法的整体实现流程,下面结合附图和具体实施方式对本发明做进一步说明。
步骤1.仿真开始,系统为缓冲区申请内存空间。
步骤2.将缓冲区平均分成三等份,为三类联邦成员消息提供内存空间。
步骤3.接收联邦成员消息,并将消息分别存储在各自的缓冲区中,缓冲区的划分如上文描述。
步骤4.判定缓冲区使用情况,如果良好,则保持平稳处理状态。
步骤5.如果缓冲区使用情况不良好,则判定是否达到缓冲区使用量警戒值。如果达到则采取相应措施进行改善缓冲区使用情况。当缓冲区占有量达到警戒值时,对各类消息缓冲区中数据进行调整:对于基于事件推进的成员消息,由于其优先级最高,故对其采取最大程度的保留;对于基于步长推进的成员消息,由于其数据的产生方式具有一定的时间规律,故采取系统抽样的方式,以此缓解缓冲区压力;对于独立时间推进的成员消息,根据其产生规律及优先级,对其采取概率丢弃的方式,降低缓冲区占有量。
步骤6.如果缓冲区使用情况不良好,且缓冲区使用量达到最大值,则采取如下措施进行调整缓冲区。当缓冲区占有量超出警戒值,甚至达到饱和状态时,根据消息优先级及缓冲区空间大小分七种情况进行处理。为方便描述,将基于事件推进的成员消息缓冲区记为EAMB;基于步长推进的成员消息缓冲区记为SAMB;乐观时间推进的成员消息缓冲区记为ITAMB。
(1).EAMB占满,SAMB、ITAMB均有空闲。
SAMB、ITAMB贡献出部分空闲空间供EAMB使用。
(2).SAMB占满,EAMB、ITAMB均有空闲。
EAMB保持不变,ITAMB贡献部分空闲空间供SAMB使用,同时SAMB对已有数据采取系统抽样的方式,缓解缓冲区压力。
(3).ITAMB占满,EAMB、SAMB均有空闲。
EAMB、SAMB均不变,ITAMB对新进数据采取丢弃方式,在对已有数据提取的同时,释放缓冲区空间。
(4).EAMB、SAMB占满,ITAMB有空闲。
ITAMB贡献部分空闲空间供EAMB使用,SAMB则对已有数据进行系统抽样,缓解缓冲区压力。
(5).EAMB、ITAMB占满,SAMB有空闲。
SAMB贡献部分空闲空间供EAMB使用,ITAMB对新进数据采取丢弃方式,缓解缓冲区压力。
(6).SAMB、ITAMB占满,EAMB有空闲。
EAMB空间保留,SAMB对已有数据采取系统抽样的方式,ITAMB对新近数据采取丢弃方式,释放缓冲区空间。
(7).EAMB、SAMB、ITAMB均被占满。
ITAMB丢弃部分尾部数据,SAMB对已有数据扩大系统抽样的间隔,两者得到的空间供EAMB使用,同时ITAMB对新近数据采取丢弃策略,在最大程度保留EAMB数据的同时,降低缓冲区使用量。
步骤7.通过对数据的处理及优化缓冲区占有量,使态势显示效果趋于流畅,直至仿真结束。
Claims (1)
1.一种基于消息优先级的缓冲区协调方法,其特征在于:
(1)通过分析仿真运行过程中出现的态势显示卡顿问题,得出该问题是由于视景显示单元对于消息数据的处理速率低于联邦成员消息数据接收程序对消息数据的接收速率,造成需显示数据囤积,从而导致显示效果的卡顿;
(2)分析联邦成员事件消息的类型及对仿真过程的作用,为事件消息划分优先级,优先级由高到低分别为:基于事件推进的成员消息、基于步长推进的成员消息、乐观时间推进的成员消息;
(3)在态势显示联邦成员中添加消息数据缓冲区,并按消息的种类划分缓冲区,该缓冲区位于视景显示单元程序与联邦成员消息数据接收程序之间;
(4)为每种消息数据缓冲区设置警戒值,当缓冲区占有量达到或超出警戒值时,对消息数据分情况处理;
(5)通过对数据的处理及优化缓冲区占有量,使态势显示效果趋于流畅;
所述步骤(4),即当缓冲区占有量达到或超出缓冲区警戒值时,对消息数据的分情况处理情况,共分为三种情况:
(4.1)当缓冲区占有量小于警戒值时,缓冲区使用状况良好,无需调整;
(4.2)当缓冲区占有量达到警戒值时,对各类消息数据缓冲区中数据进行调整:对于基于事件推进的成员消息,由于其优先级最高,故对其采取最大程度的保留;对于基于步长推进的成员消息,由于其数据的产生方式具有一定的时间规律,故采取系统抽样的方式,以此缓解缓冲区压力;对于乐观时间推进的成员消息,根据其产生规律及优先级,对其采取概率丢弃的方式,降低缓冲区占有量;
(4.3)当缓冲区占有量超出警戒值,甚至达到饱和状态时,根据消息优先级及缓冲区空间大小分七种情况进行处理;处理思路为:低优先级的消息缓冲区贡献出部分空闲空间给高优先级消息缓冲区,基于事件推进的成员消息缓冲区始终保留原始空间大小;基于步长推进的成员消息缓冲区饱和时,对已有数据采取系统抽样的方式,释放相应空间;乐观时间推进的成员消息缓冲区饱和时,对新进数据采取丢弃操作,以此缓解缓冲区压力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410424430.6A CN104202258B (zh) | 2014-08-26 | 2014-08-26 | 一种基于消息优先级的缓冲区协调方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410424430.6A CN104202258B (zh) | 2014-08-26 | 2014-08-26 | 一种基于消息优先级的缓冲区协调方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104202258A CN104202258A (zh) | 2014-12-10 |
CN104202258B true CN104202258B (zh) | 2017-06-20 |
Family
ID=52087488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410424430.6A Active CN104202258B (zh) | 2014-08-26 | 2014-08-26 | 一种基于消息优先级的缓冲区协调方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104202258B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506121A (zh) * | 2016-11-30 | 2017-03-15 | 云南电网有限责任公司红河供电局 | 一种巡检无人机通信增强的方法、系统及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162441A (zh) * | 2007-11-09 | 2008-04-16 | 华为技术有限公司 | 数据的存取装置和方法 |
CN101782891A (zh) * | 2010-03-26 | 2010-07-21 | 中兴通讯股份有限公司 | 一种分布式系统通信的方法及系统 |
-
2014
- 2014-08-26 CN CN201410424430.6A patent/CN104202258B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162441A (zh) * | 2007-11-09 | 2008-04-16 | 华为技术有限公司 | 数据的存取装置和方法 |
CN101782891A (zh) * | 2010-03-26 | 2010-07-21 | 中兴通讯股份有限公司 | 一种分布式系统通信的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104202258A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103327117B (zh) | 应用程序的跨系统运行方法和装置 | |
CN108519914B (zh) | 大数据计算方法、系统和计算机设备 | |
CN107766148B (zh) | 一种异构集群及任务处理方法和装置 | |
US9876851B2 (en) | Cloud-edge topologies | |
CN106056529B (zh) | 一种对用于图片识别的卷积神经网络训练的方法与设备 | |
JP2022515302A (ja) | 深層学習モデルをトレーニングするための方法及び装置、電子機器、コンピュータ可読記憶媒体並びにコンピュータプログラム | |
US11043219B1 (en) | Removal of identifying traits of a user in a virtual environment | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
CN105940388A (zh) | 用于图形处理单元的工作负荷批量提交机制 | |
US8190417B2 (en) | Real time simulating method and system using a sequence diagram | |
CN112463326A (zh) | 连续离散混合系统仿真推进方法及装置、设备及介质 | |
CN109710328A (zh) | 页面配置方法、装置、设备及可读存储介质 | |
CN103699364A (zh) | 一种基于并行绘制技术的三维图形渲染方法 | |
CN114371926B (zh) | 一种精细化资源分配方法、装置、电子设备及介质 | |
CN112236760A (zh) | 一种图数据的更新方法、系统、计算机可读存储介质及设备 | |
CN104202258B (zh) | 一种基于消息优先级的缓冲区协调方法 | |
CN112905317A (zh) | 快速可重构信号处理异构平台下任务调度方法和系统 | |
US9595014B1 (en) | System and method for executing workflow instance and modifying same during execution | |
CN109821240B (zh) | 一种基于Unity实现资源LOD分级的方法及其装置 | |
US11080444B1 (en) | Concurrent fault co-simulator | |
CN112799858A (zh) | 异构联合仿真环境下的异构仿真模型数据处理方法及系统 | |
CN112270083A (zh) | 一种多分辨建模与仿真方法及系统 | |
CN112463340A (zh) | 基于tensorflow的多任务弹性调度方法及系统 | |
US9632848B1 (en) | Asynchronous submission of commands | |
CN110109718A (zh) | 一种应用程序接口调用方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |