CN113821940A - 一种基于分布式黑板机制的仿真平台 - Google Patents
一种基于分布式黑板机制的仿真平台 Download PDFInfo
- Publication number
- CN113821940A CN113821940A CN202111384300.0A CN202111384300A CN113821940A CN 113821940 A CN113821940 A CN 113821940A CN 202111384300 A CN202111384300 A CN 202111384300A CN 113821940 A CN113821940 A CN 113821940A
- Authority
- CN
- China
- Prior art keywords
- data
- entity
- simulation
- state
- distribution
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于分布式黑板机制的仿真平台,所述平台包括:多个仿真模块;仿真模块之间通过分布式本地黑板机制进行数据交互;分布式本地黑板机制包括:环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态‑更新逻辑分离机制,环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,数据路由并行检索机制实现仿真模块之间数据路由的并行检索,多策略数据同步分发机制实现仿真模块之间的数据同步分发,差异化数据更新机制实现实体最新状态的接收存储,实体状态‑更新逻辑分离机制实现实体状态与更新逻辑解耦。采用本仿真平台能够提高数据同步分发效率。
Description
技术领域
本申请涉及数据处理与仿真领域,特别是涉及一种基于分布式黑板机制的仿真平台。
背景技术
随着仿真技术的发展,出现了黑板机制,黑板机制适用于大型分布式仿真系统的基础内核和底层支撑框架。采用这一技术,可以非常方便的实现分布式仿真计算,将大量的复杂模型根据计算量的大小合理配置到不同的仿真节点,充分发挥计算机网络中的硬件计算资源,大大提高了仿真模型的计算效率;采用黑板机制,实现了本地黑板数据的快速读写,以及网络数据的高速共享;同时也方便实现复杂仿真系统的分布式集成与部署。
然而,目前有多种黑板机制的实现方案和软件系统,仿真模块的元数据结构与数据黑板耦合较强,主流的黑板系统在应用前需要将元数据结构固化在共享内存中,无法在应用时动态构建需要交互的数据结构,因此在面向多领域、数据结构变化较多的仿真场景下支持不足,目前的黑板系统数据分发以黑板数据写入-黑板数据读取为主,模式单一,无法满足即时数据触发、数据同步拉取等多种分发模式,同时在分布式环境下,大部分黑板体制为全局黑板,即每个单机节点均维护一个全数据拷贝,每次更新均需要进行广播更新,影响分布式数据更新同步效率,数据同步分发效率低下等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据同步分发效率的一种基于分布式黑板机制的仿真平台。
一种基于分布式黑板机制的仿真平台,所述平台包括:多个仿真模块;
仿真模块之间通过分布式本地黑板机制进行数据交互;分布式本地黑板机制包括:环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态-更新逻辑分离机制;
环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,分布式本地黑板机制的共享内存包括环状配置的实体状态区、实体缓存区与消息发布区;
数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索;
多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发;
差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新实体缓存区;
实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦。
在其中一个实施例中,环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,包括:环状数据交互机制通过将仿真模块中的元数据设计为数据包的队列结构进行环状存储,将数据存储与数据结构定义分离,实现仿真模块之间的环状数据交互;元数据为仿真中需要交互的数据结构;环状存储指将数据包的写入区与读取区首尾相连。
在其中一个实施例中,数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索,包括:数据路由并行检索机制将仿真模块中实体数据交互关系以发布/订阅的方式进行配置和描述,得到多张数据路由表;对数据路由表采用并行检索的方式,实现仿真模块之间数据路由的并行检索;并行检索为多节点、多线程和多进程的三级并行检索。
在其中一个实施例中,多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发,包括:多策略数据同步分发机制通过基于互斥锁的同步机制、触发式的事件机制对本地黑板机制的写入读取策略进行扩展,得到多种数据分发策略;数据分发策略包括主动推送、主动拉取和RPC服务;数据分发策略通过API发布数据交互接口调用callservice函数,实现仿真模块之间的数据同步分发。
在其中一个实施例中,数据分发策略通过API发布数据交互接口调用callservice函数,实现仿真模块之间的数据同步分发,包括:数据分发策略通过API发布数据交互接口调用callservice函数,将需要分发的数据写入仿真模块的共享内存中,调用方进行等待,写入完成后,通过仿真模块的单机总控从共享内存中读取分发数据并分发给另一仿真模块的单机总控,然后将分发数据写入该仿真模块的共享内存中,这个过程中发送方等待读取回复,当分发数据读取后,发送读取回复,调用方接收读取回复后,完成callservice函数调用,调用方继续运行,实现仿真模块之间的数据同步分发。
在其中一个实施例中,差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新实体缓存区,包括:差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态进行对比,若一致则直接从实体缓存区获取实体状态,若不一致则根据接收到仿真实体的实体状态,更新实体缓存区。
在其中一个实施例中,实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦,包括:实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,通过无状态服务实例读取实体状态,实体之间通过无状态服务实例进行信息交互,实现实体状态的更新,同时,实现实体状态的读取和实体状态的更新之间的解耦。
上述一种基于分布式黑板机制的仿真平台,通过在分布式黑板机制中建立环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态-更新逻辑分离机制,将仿真模块中的元数据设计为数据包的队列结构进行环状存储,实现元数据的灵活、动态注入,支持面向多领域、数据结构变化较多的仿真场景,对基于传统黑板机制的写入读取策略进行扩展,通过标准的API发布数据交互接口,在面向仿真的数据服务中首次实现了多策略数据同步分发,利用设定的差异化信息判断机制和将实体状态与更新逻辑解耦,使得能够快速读取仿真模块中实体的最新状态,进而提高了实体的数据同步分发效率。
附图说明
图1为一个实施例中基于分布式黑板机制的仿真平台的仿真模块之间数据交互图;
图2为一个实施例中分布式环状数据交互架构示意图;
图3为一个实施例中数据交互关系的配置示意图;
图4为一个实施例中实体状态与更新逻辑解耦示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于分布式黑板机制的仿真平台,平台包括:多个仿真模块;仿真模块之间通过分布式本地黑板机制进行数据交互;分布式本地黑板机制包括以下机制:环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态-更新逻辑分离机制。
步骤1,建立环状数据交互机制,环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,分布式本地黑板机制的共享内存包括环状配置的实体状态区、实体缓存区与消息发布区。
本申请通过引入“NoSQL”思想,将仿真模块中的数据设计为数据包的队列结构进行环状存储,将数据存储与数据结构定义分离,实现元数据的灵活、动态注入。
分布式本地黑板机制的共享内存包括环状配置的实体状态区、实体缓存区与消息发布区,其中,实体状态区主要存储参与仿真的模型实例状态,该区域的特点是数据结构相对固定,但数据内容动态变化,且数据消费的周期可长可短,需要在仿真周期内持久化保持。实体缓存区主要存储动态建立的临时实体信息,并在实体任务完成后销毁,释放内存空间。消息发布区为数据交互的主区域,主要存储每一tick步进时,仿真模型发布的大量消息数据,该数据具有即时消费的特点,无需持久化保持,因此该区域可环状循环使用。
步骤2,建立数据路由并行检索机制,数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索。
设置发布/订阅机制是指将仿真模块的所有实体的数据交互关系以发布/订阅的方式进行配置和描述,形成多张数据路由表,仿真模块根据数据路由表进行路由。本申请中的并行检索是指多节点、多线程和多进程的三级并行检索模式。
步骤3,建立多策略数据同步分发机制,多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发。
多策略是指多个数据分发策略,包括:主动推送、主动拉取和RPC服务。API接口包括senddata、setstate、getstate、callservice等,实现不同的功能,本申请通过调用callservice函数进行仿真模块之间的数据同步分发。
步骤4,建立差异化数据更新机制,差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新实体缓存区。
实体是指仿真模块中的仿真对象,比如飞机、车辆、人员等。实体状态差异信息是指将仿真模块接收到仿真实体的状态信息与仿真模块中存储的实体的最新状态信息进行对比产生的差异信息。
步骤5,建立实体状态-更新逻辑分离机制,实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦。
服务实例指服务代理,本身无程序实现,基于同一服务的服务实例拥有唯一共同的服务实现。由于服务是无状态的,在服务被调用或激活时,需要获知自身的服务实例ID,采取回调参数的方式传入服务内部逻辑,并最终加入自身服务实例ID,通过服务实例ID获取实体当前状态。
上述一种基于分布式黑板机制的仿真平台,通过在分布式黑板机制中建立环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态-更新逻辑分离机制,将仿真模块中的元数据设计为数据包的队列结构进行环状存储,实现元数据的灵活、动态注入,支持面向多领域、数据结构变化较多的仿真场景,对基于传统黑板机制的写入读取策略进行扩展,通过标准的API发布数据交互接口,在面向仿真的数据服务中首次实现了多策略数据同步分发,利用设定的差异化信息判断机制和将实体状态与更新逻辑解耦,使得能够快速读取仿真模块中实体的最新状态,进而提高了实体的数据同步分发效率。
在其中一个实施例中,环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,包括:环状数据交互机制通过将仿真模块中的元数据设计为数据包的队列结构进行环状存储,将数据存储与数据结构定义分离,实现仿真模块之间的环状数据交互;元数据为仿真中需要交互的数据结构;环状存储指将数据包的写入区与读取区首尾相连。
将仿真模块中的数据设计为数据包的队列结构进行环状存储,将数据包的写入区与读取区首尾相连,将数据存储与数据结构定义分离,数据存储为无结构的二进制数据,数据结构定义可以在交互设计时灵活定义,在交互运行时,由序列化/反序列化机制将结构化的数据转换为无结构的二进制数据,实现元数据的灵活、动态注入,从而在仿真应用时可以动态构建需要交互的数据结构,本实施例支持多种序列化、反序列化协议,比如Protobuffer、Json、Xml、MessagePack等,并且具备良好的可扩展性和可适配性。通过本申请的数据结构设计,支持仿真实体数大于50000个,超越同类数据分发服务数量指标,更加适用于大规模的复杂大系统仿真。
如图2所示,分布式黑板之间采取点对点互联的无中心架构。由于共享内存开辟空间的大小限制,传统的线性设计为堆栈式,不断积累存储数据,并不断消费,共享内存容易占满出现溢出的情况,本申请将实体状态区、实体缓存区与消息发布区采取环状结构设计,将写入区与读取区首尾相连,不断覆盖已经消费的数据,只要写入数据的速度大于消费速度,就不会存在溢出的情况,从而最大效率利用共享内存。随着实体状态、实体缓存与消息的不断写入与消费,实现环状数据更新,从而最大程度利用有限的共享内存资源,提升了数据的吞吐率,提升了单次发送的数据大小提升。
在其中一个实施例中,数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索,包括:数据路由并行检索机制将仿真模块中实体数据交互关系以发布/订阅的方式进行配置和描述,得到多张数据路由表;对数据路由表采用并行检索的方式,实现仿真模块之间数据路由的并行检索;并行检索为多节点、多线程和多进程的三级并行检索。
本实施例中,如图3所示,将所有实体的数据交互关系以发布/订阅的方式进行下发配置,形成多张数据路由表,将与仿真节点对应的数据路由表下发给相应的计算节点。在仿真运行时,基于分布式黑板机制,由于分布式系统中的每个节点仅需要维护本节点内模型路由,且在节点之间并发查询,减少数据路由的检索时间,本申请能够采取多节点、多线程、多进程的三级并行检索模式进行并行检索,能够充分利用多核CPU的计算能力,提升了仿真模块之间数据路由的并行检索效率,性能比串行检索模式提升45%,同时能够提高仿真模块之间数据读取的效率,进而提高数据分发效率。
在其中一个实施例中,多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发,包括:多策略数据同步分发机制通过基于互斥锁的同步机制、触发式的事件机制对本地黑板机制的写入读取策略进行扩展,得到多种数据分发策略;数据分发策略包括主动推送、主动拉取和RPC服务;数据分发策略通过API发布数据交互接口调用callservice函数,实现仿真模块之间的数据同步分发。
通过API发布数据交互接口进行仿真模块之间的数据同步分发,包括:多策略数据同步分发机制通过基于互斥锁的同步机制、触发式的事件机制对本地黑板机制的写入读取策略进行扩展,使得扩展后的数据分发策略更加满足多样化的数据分发需求场景,目前支持的分发策略包括主动推送、主动拉取和RPC服务,其中,主动推送即消息模式,由消息发布者发布消息,消息订阅者接收消息并触发内部函数进行消息响应,消息读区和消息写区共用一块黑板,主动推送的数据均为即时数据,即本拍数据。主动拉取是传统的黑板读取模式,通过主题名称、数据名称、数据ID等多种仿真平台,从数据黑板中获取数据包。由于黑板分为读区和写区两块区域,主动拉取的数据均为上一拍数据。RPC服务:Remote ProcedureCallback,即远程仿真平台服务,适用于服务化的仿真数据交互,模型服务为无状态服务,服务申请者申请服务,传入服务输入数据,同步等待模型服务的输出数据返回,是一种即时、中断式的数据交互。
在其中一个实施例中,数据分发策略通过API发布数据交互接口调用CallService函数,实现仿真模块之间的数据同步分发,包括:数据分发策略通过API发布数据交互接口调用CallService函数,将需要分发的数据写入仿真模块的共享内存中,调用方进行等待,写入完成后,通过仿真模块的单机总控从共享内存中读取分发数据并分发给另一仿真模块的单机总控,然后将分发数据写入该仿真模块的共享内存中,这个过程中发送方等待读取回复,当分发数据读取后,发送读取回复,调用方接收读取回复后,完成CallService函数调用,调用方继续运行,实现仿真模块之间的分布式数据同步分发。
同时,本申请通过数据头标识实现,将需要持久化的实体数据头存储有持久/临时的枚举字段和数据长度,当写入到改数据区域时,读取数据长度,写入指针直接跨到该数据区域尾部,避免写入覆盖,能够实现实体状态持久化保存。
在其中一个实施例中,差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新实体缓存区,包括:差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态进行对比,若一致则直接从实体缓存区获取实体状态,若不一致则根据接收到仿真实体的实体状态,更新实体缓存区。
实体缓存区存储本仿真模块内部的实体状态,维护本仿真模块内部实体的状态更新以及缓存其他仿真模块的实体状态,包括数据黑板与操作缓存两部分,
当本仿真模块的实体通过GET仿真平台获取其他仿真模块的实体状态时,首先检查数据更新表,需求数据是否得到最新更新,而后检查是否缓存了其他仿真模块的实体的最新状态,若有则直接从实体缓存区获取。若没有或者实体缓存区的实体状态已经过期,则重新从该实体所在的仿真模块获取实体状态的最新状态,通过差异化信息判断机制,仿真模块不用对所有实体的状态进行更新,减少实体状态的更新次数,缩短实体的状态数据更新时间,使得仿真模块能够快速进行数据分发,提高了数据分发效率。同时,采取差异化数据更新机制,结合无中心交互架构,大大减轻了网络的数据流量和传递层级,为仿真快速高效的运行提供了可靠支撑,支持的最小步长不大于1毫秒,具备支持实时、超实时仿真的能力。
在其中一个实施例中,实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦,包括:实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及无状态服务实例之间进行消息关联,通过无状态服务实例读取实体状态,实体之间通过无状态服务实例进行信息交互,实现实体状态的更新,同时,实现实体状态的读取和实体状态的更新之间的解耦。
仿真模块中的实体的状态属性与时间高度相关,且随着仿真时间的推进而不断被读取与更新,如图4所示,本申请通过构建无状态的模型服务与基于共享内存的状态池,将无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,无状态服务实例之间进行消息关联,实体与实体之间的消息交互通过无状态服务实例来传递,并且各个服务实例与实体状态空间通过状态端口进行关联,采用基于共享内存的交互方式,可获得与本进程内存同样的高速访问,利用双缓存区,实现的状态读取和实体状态写入更新解耦,仿真模块能够直接获取当前实体的状态,不用等待实体更新后获取实体状态,从而通过快速读取实体状态来提高各个实体之间进行数据交互的数据分发效率。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种基于分布式黑板机制的仿真平台,其特征在于,所述平台包括:多个仿真模块;
所述仿真模块之间通过分布式本地黑板机制进行数据交互;所述分布式本地黑板机制包括:环状数据交互机制、数据路由并行检索机制、多策略数据同步分发机制、差异化数据更新机制和实体状态-更新逻辑分离机制;
所述环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,所述分布式本地黑板机制的共享内存包括环状配置的实体状态区、实体缓存区与消息发布区;
所述数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索;
所述多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发;
所述差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新所述实体缓存区;
所述实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及所述无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦。
2.根据权利要求1所述的仿真平台,其特征在于,所述环状数据交互机制是通过队列实现仿真模块之间的环状数据交互,包括:
所述环状数据交互机制通过将所述仿真模块中的元数据设计为数据包的队列结构进行环状存储,将数据存储与数据结构定义分离,实现仿真模块之间的环状数据交互;所述元数据为仿真中需要交互的数据结构;所述环状存储指将数据包的写入区与读取区首尾相连。
3.根据权利要求1所述的仿真平台,其特征在于,所述数据路由并行检索机制是通过在仿真模块之间设置发布/订阅机制,实现仿真模块之间数据路由的并行检索,包括:
所述数据路由并行检索机制将仿真模块中实体数据交互关系以发布/订阅的方式进行配置和描述,得到多张数据路由表;
对所述数据路由表采用并行检索的方式,实现仿真模块之间数据路由的并行检索;所述并行检索为多节点、多线程和多进程的三级并行检索。
4.根据权利要求1-3任意一项所述的仿真平台,其特征在于,所述多策略数据同步分发机制是通过API发布数据交互接口进行仿真模块之间的数据同步分发,包括:
所述多策略数据同步分发机制通过基于互斥锁的同步机制、触发式的事件机制对本地黑板机制的写入读取策略进行扩展,得到多种数据分发策略;所述数据分发策略包括主动推送、主动拉取和RPC服务;
所述数据分发策略通过API发布数据交互接口调用callservice函数,实现仿真模块之间的数据同步分发。
5.根据权利要求4所述的仿真平台,其特征在于,所述数据分发策略通过API发布数据交互接口调用callservice函数,实现仿真模块之间的数据同步分发,包括:
所述数据分发策略通过API发布数据交互接口调用callservice函数,将需要分发的数据写入仿真模块的共享内存中,调用方进行等待,写入完成后,通过仿真模块的单机总控从共享内存中读取分发数据并分发给另一仿真模块的单机总控,然后将所述分发数据写入该仿真模块的共享内存中,这个过程中发送方等待读取回复,当所述分发数据读取后,发送读取回复,调用方接收所述读取回复后,完成callservice函数调用,调用方继续运行,实现仿真模块之间的数据同步分发。
6.根据权利要求1所述的仿真平台,其特征在于,所述差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态差异信息,更新所述实体缓存区,包括:
所述差异化数据更新机制是仿真模块接收到仿真实体的实体状态时,通过与仿真模块中存储的实体状态进行对比,若一致则直接从实体缓存区获取实体状态,若不一致则根据所述接收到仿真实体的实体状态,更新所述实体缓存区。
7.根据权利要求1所述的仿真平台,其特征在于,所述实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及所述无状态服务实例之间进行消息关联,实现实体状态与更新逻辑解耦,包括:
所述实体状态-更新逻辑分离机制是无状态服务实例与实体状态组成的实体状态空间之间进行状态关联,以及所述无状态服务实例之间进行消息关联,通过无状态服务实例读取实体状态,实体之间通过所述无状态服务实例进行信息交互,实现实体状态的更新,同时,实现实体状态的读取和实体状态的更新之间的解耦。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111384300.0A CN113821940B (zh) | 2021-11-22 | 2021-11-22 | 一种基于分布式黑板机制的仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111384300.0A CN113821940B (zh) | 2021-11-22 | 2021-11-22 | 一种基于分布式黑板机制的仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821940A true CN113821940A (zh) | 2021-12-21 |
CN113821940B CN113821940B (zh) | 2022-02-08 |
Family
ID=78918042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111384300.0A Active CN113821940B (zh) | 2021-11-22 | 2021-11-22 | 一种基于分布式黑板机制的仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821940B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858205A (zh) * | 2023-02-27 | 2023-03-28 | 中国人民解放军国防科技大学 | 基于内存黑板机制的仿真组件交互方法、装置和设备 |
CN116069530A (zh) * | 2023-04-03 | 2023-05-05 | 中国人民解放军国防科技大学 | 基于内存池的仿真引擎数据共享黑板系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014200072A (ja) * | 2013-03-15 | 2014-10-23 | 株式会社リコー | 配信制御システム、配信システム、配信制御方法、及びプログラム |
CN105376252A (zh) * | 2015-12-02 | 2016-03-02 | 福建星网锐捷网络有限公司 | 分布式架构数据通信设备及其认证方法、业务板 |
CN105894213A (zh) * | 2016-04-27 | 2016-08-24 | 东北大学 | 一种基于黑板模型的多智能体电网故障诊断系统及方法 |
CN108737238A (zh) * | 2018-05-28 | 2018-11-02 | 朱磊 | 支持分布式黑板模式交互的控制环网HardCnet链路控制方法 |
-
2021
- 2021-11-22 CN CN202111384300.0A patent/CN113821940B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014200072A (ja) * | 2013-03-15 | 2014-10-23 | 株式会社リコー | 配信制御システム、配信システム、配信制御方法、及びプログラム |
CN105376252A (zh) * | 2015-12-02 | 2016-03-02 | 福建星网锐捷网络有限公司 | 分布式架构数据通信设备及其认证方法、业务板 |
CN105894213A (zh) * | 2016-04-27 | 2016-08-24 | 东北大学 | 一种基于黑板模型的多智能体电网故障诊断系统及方法 |
CN108737238A (zh) * | 2018-05-28 | 2018-11-02 | 朱磊 | 支持分布式黑板模式交互的控制环网HardCnet链路控制方法 |
CN109495364A (zh) * | 2018-05-28 | 2019-03-19 | 朱磊 | 黑板共享方式的分布式控制网bsr链路控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858205A (zh) * | 2023-02-27 | 2023-03-28 | 中国人民解放军国防科技大学 | 基于内存黑板机制的仿真组件交互方法、装置和设备 |
CN116069530A (zh) * | 2023-04-03 | 2023-05-05 | 中国人民解放军国防科技大学 | 基于内存池的仿真引擎数据共享黑板系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113821940B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113821940B (zh) | 一种基于分布式黑板机制的仿真系统 | |
US9230002B2 (en) | High performant information sharing and replication for single-publisher and multiple-subscriber configuration | |
CN108881369B (zh) | 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统 | |
CN105335221B (zh) | 基于可重构的分布式软件总线 | |
CN104113597B (zh) | 一种多数据中心的hdfs数据读写方法 | |
JP2015537307A (ja) | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 | |
CN110262754B (zh) | 一种面向NVMe和RDMA的分布式存储系统及轻量级同步通信方法 | |
WO2019223596A1 (zh) | 事件处理方法、装置、设备及存储介质 | |
CN105786603B (zh) | 一种基于分布式的高并发业务处理系统及方法 | |
CN101499095B (zh) | 用于数据共享平台的构建缓冲的方法 | |
WO2021135545A1 (zh) | 一种 kubernetes 多集群管理系统、方法、终端及存储介质 | |
CN104142896A (zh) | 一种缓存控制方法和系统 | |
CN113608899A (zh) | 轻量级数据生产-消费者模式处理方法、系统及存储介质 | |
CN112612799A (zh) | 一种数据同步方法及终端 | |
CN110083306A (zh) | 一种分布式对象存储系统及存储方法 | |
CN115118723A (zh) | 集群调度系统 | |
US20050246301A1 (en) | System and Method to distribute reasoning and pattern matching in forward and backward chaining rule engines | |
CN109189387A (zh) | 一种基于qt组件的gnss数据处理的方法及系统 | |
CN117234697A (zh) | 一种保守时间同步并行事件调度计算架构和方法 | |
CN111600958B (zh) | 服务发现系统、服务数据管理方法、服务器及存储介质 | |
CN115242660A (zh) | 基于中心化的异构算力联邦系统及组网和执行方法 | |
CN112416414A (zh) | 一种基于状态机的微服务架构容器化轻量级工作流系统 | |
CN112751789A (zh) | 一种非对称sdn控制器集群的实现方法及系统 | |
CN116680042A (zh) | 一种图像处理的方法及相关装置和系统 | |
Hasler et al. | Slicing FIFOs for on-chip memory bandwidth exhaustion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |