ION-DTN AMS协议介绍

news/2025/3/19 20:08:03/

AMS介绍与目的:

AMS:Asynchronous Message Service,异步消息服务

AMS是CCSDS提出的基于DTN的应用层协议,AMS是一种数据系统通信体系结构,任务系统的模块可以在该体系结构下设计成好像要在隔离地操作一样,每个模块在不知道哪些其他模块运行的情况下进行工作:生产和消费数据。

基于此模型的系统是一个由通常自治的互操作模块组成的“社会”,也就是说各个模块之间不知道其他模块的运行状态。

也就是说,AMS的目的是通过以简单易用、高度自动化、灵活、健壮、可伸缩和高效的方式为数据系统模块之间的信息交换提供标准、可重用的基础设施来降低任务成本和风险。简单来说就是实现了消息中间件的功能。

 

AMS特点:

1.任何模块都可以随时引入系统,模块永远不需要为任何其他模块建立显式的先验通信“连接”或“通道”,来向其他模块传递消息或接收消息。

2.任何模块都可以在任何时候从系统中删除,而不会限制任何其他模块继续发送和接收消息的能力。

3.当模块必须升级到改进版本时,可以随时终止模块并启动替换模块;不需要中断整个系统的操作

4.当系统作为一个整体必须终止时,系统模块停止运行的顺序是无关紧要的。

 

基于ams的系统是高度健壮的,没有任何天生的单点故障,并且能够容忍计划外的模块终止。同时,在基于ams的系统中,通信可以是快速和有效的:

1.消息是直接在模块之间交换的,而不是通过任何中央消息分发。

2.消息的分发 会自动使用“最好的”底层通信服务,例如,在公共LAN上运行在不同计算机上的两个地面系统模块之间的消息可能通过TCP/IP进行传输,在连接到公共总线内存板的两个飞行处理器上运行的模块之间的消息可以通过共享内存消息队列传递

3.类似分布式的思想。

 

AMS信息交换模型:

AMS消息交换基本上是异步的。也就是说,每个消息都是以“邮政”而不是“电话”方式发送的:在发送消息时,AMS模块不需要在继续执行其功能之前等待任何消息的到达(例如对发送的消息的回复)。

出于某些目的,真正的消息同步也是必要的:也就是说,已经发出消息的模块可能希望完全暂停操作,直到接收到应答——即,查询其他模块。AMS程序在需要时还支持该通信模型。

基于AMS的数据系统中的大多数消息交换是在“发布-订阅”模型上进行的:

1.模块使用AMS过程来宣布它正在订阅关于指定主题的消息。

2.从那时起(直到取消订阅),每当消息空间中的任何模块使用AMS过程发布关于该主题的消息时,将自动向该订阅模块以及已宣布类似订阅的所有其他模块传递消息的副本。

该模型可以大大简化应用程序开发和集成。实际上,每个模块将自己插入一个数据“网格”,就像电力的生产者和消费者。

AMS模块可以向这样的数据网格中插入它所生成的任何数据,而不必非常了解该数据的使用者,并且从网格中获取它所需要的任何数据,而不必非常了解生产者。模块的设计与所有其他模块的设计在很大程度上解耦,就像烤面包机的设计与发电厂的设计在很大程度上解耦一样。

 

AMS的模块以及功能体定义:

continuum:

是AMS的通信的实体,每个continuum由一个continuum 名称和对应的非负continuum编号标识。

application:

application是数据系统实现,通常采取一组源代码文本文件的形式,它依赖于AMS过程来实现其目的。每个application由application name标识。

authority:

authority是可能负责application的配置和操作的管理实体或角色。每个authority由authority name标识。

venture:

venture是应用程序的实例,即application的功能投影到一组一个或多个正在运行的计算机上。

role:

role是应用程序功能的一部分。每个role由role名称和相应的非负role号标识。也就是一个功能模块。

subject/subject number:

消息的subject/subject number是嵌入在消息中的整数,该整数指示消息在消息被交换的AMS venture的上下文中所传递的信息的一般性质。

subscription:

订阅是请求将订阅域中的任何模块在某个指定主题上发布的每条消息的一个副本发送到订阅模块的语句;订阅的域是建立订阅的AMS服务请求的域。

AMS架构:

 

AMS通信实体:

所有AMS通信都在三种类型的通信实体之间进行modules, registrars, and configuration servers。

registrar:

注册器是一个通信实体,记载了关于消息空间的单个单元的已注册成员资格的信息。它响应对此信息的查询,并在宣布更改时更新此信息,也就是说它是一个守护进程,负责模块的注册,修改,以及退出等更新动作。

configuration server:

配置服务器是一个通信实体,它编目关于在一些AMS continuum中建立的消息空间的信息,特别是所有消息空间的所有单元的注册器的位置。它响应对此信息的查询,并在宣布更改时更新此信息。

 


http://www.ppmy.cn/news/781940.html

相关文章

TNN

一、实验目的 1、掌握神经网络的基本原理。 2、熟悉神经网络的实现方式。 二、实验环境 1. PC机一台,机器上装有Python; 2、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的…

CDatetimeCtrl的DTN_DATETIMECHANGE消息响应两次解决方法

参考:http://topic.csdn.net/t/20050526/12/4037045.html #6楼 背景:通过日历弹出框修改日期是,DTN_DATETIMECHANGE消息响应两次,需要只截获一次即可。 /* desc 通过编辑框修改日期时,该方法被调用一次 通过弹出日历框…

卡尔曼滤波算法-DTN中一种基于灰色预测和状态估计的位置预测方法

卡尔曼滤波算法 一、基本思想 在实际应用中,常常需要知道实际的物理量的值,但事实上我们很难获得实际系统状态的实际值,因此我们需要对实际物理量的值进行估计。 卡尔曼滤波器主要用于对实际系统状态的估计上,其算法思想是&…

数字孪生(Digital Twin,DT)

数字孪生(Digital Twin,DT) 每日一诗:《西江月平山堂》 宋苏轼 三过平山堂下,半生弹指声中。十年不见老仙翁。壁上龙蛇飞动。 欲吊文章太守,仍歌杨柳春风。休言万事转头空。未转头时皆梦。 全文目录 数字孪…

TDN: Temporal Difference Networks for Efficient Action Recognition

论文笔记(7) TDN: Temporal Difference Networks for Efficient Action Recognition主要贡献TDN实验 TDN: Temporal Difference Networks for Efficient Action Recognition 主要贡献 提出了 Temporal Difference Network (TDN), TDN的核心…

什么是DTD?

一、什么是DTD 文档类型定义(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法规则。它是标准通用标记语言(SGML)和可扩展标记语言(XML)1.0版规格的一部分,文档可根据某种DTD语法规则验证格式是否符合此规则。文档类型定义也可用做…

DTN设置、运行和参数介绍——ONE Readme 翻译

ONE模拟器 The ONE v1.6.0 - Readme原文Quick startConfiguringDTN2 Reference Implementation Connectivity The ONE v1.6.0 - Readme翻译Quick startConfiguringDTN2 Reference Implementation Connectivity The ONE v1.6.0 - Readme原文 The ONE is a Opportunistic Networ…

D-TDNN

实现流程 每层D-TDNN layer的结构如下: 第一层为FNN-based的bottleneck layer。 g为TDNN层的output size(growth rate),bottleneck layer层的output size为2g, 最后将D-TDNN的输入与TDNN layer的输出连接起来。整个D-TDNN的结构如下: 整…