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中建立的消息空间的信息,特别是所有消息空间的所有单元的注册器的位置。它响应对此信息的查询,并在宣布更改时更新此信息。

ION-DTN AMS协议介绍相关推荐

  1. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  2. open source license主流的开源软件协议介绍

    open source license主流的开源软件协议介绍(20190222) 文章目录: 一.开源软件的直观介绍 二.常用开源协议介绍 三.常用开源协议之间的对比 当Adobe.Microsoft ...

  3. SNMP协议介绍和操作截图

    第一章 SNMP协议介绍 SNMP协议 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的 ...

  4. VRRP协议介绍--转

    http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...

  5. Python教程之udp和tcp协议介绍

    UDP介绍 UDP - 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议.UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地.由于UDP在传输数据 ...

  6. (4)ZYNQ AXI4总线协议介绍

    1.1 ZYNQ AXI4总线协议介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ AXI4总线协议介绍: 5)结束语. 1.1.2 本节引言 " ...

  7. 音视频直播流程及常见视频流协议介绍

    音视频直播流程介绍 常见视频流协议介绍 HLS HLS是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统 ...

  8. SNMP 网络协议介绍

    这里填写标题 1. SNMP 网络协议介绍 1.1. 什么是 SNMP 1.1.1. 概述 1.1.2. SNMP 版本 1.2. OIDs 1.2.1. 什么是 OID 1.2.1.1. 可查询数量 ...

  9. AMBA协议介绍(1)——APB协议

    系列文章目录 AMBA协议介绍(1)--APB协议 AMBA协议介绍(2)--AHB协议 AMBA协议介绍(3)--AXI协议 目录 AMBA协议介绍 AMBA协议介绍(1)--APB协议 前言 一. ...

最新文章

  1. 字符串转换整数 (atoi)
  2. POWER-BI开发版功能简介
  3. 告别2019,写给2020:干好技术,要把握好时光里的每一步
  4. oracle 如何查看当前用户的表空间名称
  5. 中国首辆火星车全球征名,李彦宏推荐命名:祝融
  6. cmd命令大全/cmd命令提示符大全
  7. html input submit 执行,HTML DOM Input Submit用法及代码示例
  8. JSP HTTP 状态码
  9. python开发最受欢迎的十款工具
  10. 高频谐振功率放大器仿真
  11. Amap【高德】/Google-开发,无人机航迹规划演示
  12. Machine Learning读书会,面试算法讲座,创业活动,算法班(历届汇总)
  13. u盘中毒文件为html文档,U盘u盘中毒,文件被隐藏了怎么办 – 手机爱问
  14. 2021-2027全球与中国紫外光固化胶市场现状及未来发展趋势
  15. 【英语】英语写作——三段式开头
  16. 安桌16进制变色列表和计算方法
  17. (sdau) Summary of the fourth week.
  18. 超导体计算机采用纳米技术研制的计算机,在高温超导体加持下,量子效应的量子计算机,或将迎来重大突破!...
  19. 全球与中国自动停车机器人市场深度研究分析报告
  20. CentOS之——ab压力测试安装与使用

热门文章

  1. freeCAD学习笔记一:尝试一个最简单的例子
  2. 极速办公(PPT)如何插入艺术字
  3. 元素导出为图片与pdf的几种方式
  4. 新个人所得税EXCEL计算公式以及税后工资反算税前工资公式详解
  5. 将一行英文中每个单词首字母转换为大写字母
  6. 裸辞后在厦门一个月内面试了24家互联网公司—3年Java开发工程师
  7. 网络编程与Tomcat服务器
  8. 天猫9月上旬规则变动合集
  9. python中attrs_与attrs告别Python中的样板
  10. elementui 表格上加小问号 鼠标移入提示文字