架构视图

来源:互联网 发布:全国打拐dna数据库查询 编辑:程序博客网 时间:2024/05/16 17:36

1,进程视图
事实上,在分布式计算平台上,是把系统构建成一组通信进程,这个问题的研究需要使
用进程视图。进程视图的关注点是性能,我们还需要关注诸如:死锁、通信协议、容错性(防
止通信线路出现问题)、网络管理及防阻塞的考虑等,我们必须制定一些约定,这些约定不
但是分布式系统而且对于构件的开发都是必要的。比如我们提出的约定如下:
构件之间的通信是通过强类型消息传递的。抽象数据类型和实施操纵的程序是由传
递消息的构件提供的。它使得各个构件可以在不考虑其它构件对数据表示细节的情
况下独立编写。其实强类型也包括了具体的数据类型可以在使用方由特定的文件确
定。
进程间通信协议支持本地独立应用程序之间的数据传输协议,这样就可以保证不考
虑各个应用程序所在的物理位置,这种处理器分配的“匿名性”,可以保证应用程
序可以在处理器之间迁移。
数据生产者不需要在了解数据使用者的情况下独立编写,数据的维护和更新从概念上是
与数据的使用者相分离的,也就是这是一个黑箱模式,数据的主要使用者是人机界面(HCI)。
包括存储库的构件称作通用对象管理器(Common Object Manager,COOB),它的作用如下
所示,数据基本上应该通过 COOB 调整,但有时候为了性能,也不排除少数的绕过 COOB
的情况。比如目标的轨迹信息(该目标的历史数据)更新频率特别快,所以它绕过了 COOB。
关于数据生产的约定包括:
各个数据应用模块都有本地的数据保留库(称之为实时数据库),仅当数据改动的
时候才发送数据去更新这样的“实时数据库”,这样可以保证不必要的消息进入网
络。构件拥有自己已更改的数据,这就避免了数据的争用。
数据以面向对象的抽象形式表现出来,以便把程序与实现的细节隔离开来,数据必
须是强类型的。
由于数据是分布式的,所以对访问请求的时间很短。
从较长的时间来看,数据在整个系统中是一致的,但允许短时间的不一致。
与网络相关的约定如下:
从设计上保证了网络负载比较小,这需要设计的时候对数据流作大量的工作,确保
所传递的数据都是必要的。
数据通道需要具有一定的防错性,尽可能在应用程序内部解决出现的错误。
允许应用程序偶尔错过某次更新,例如舰船位置,某次方位数据可能会错过,可以
事后根据前后数据进行更新,也就是需要有某种数据“记忆”功能。
这些约定,就可以保证模块在不考虑自己所不能控制的可变部分的情况下独立编
写,使模块更具通用型,而且模块的类型限制在比较少的数量,可以为不同系统直接使
用。
2,分层视图
该系统实现层的原则如下:
模块的分组大致是按照所封装的信息类型划分的。一般来说,当这种类型的信息形
式发生变化的时候,只改变这一个层的内容。比如,关于网络、通信协议发生变化
的时候,必须改动的模块,放在一个层中。
层排列的顺序,越是依赖于硬件的层放在底端,越是针对具体应用的层越放在上端。
对层的访问限制,模块只能访问同一层和下一层的模块。
3,模块分解视图
本系统由大约 30 个系统功能组组成,其中每个功能组又包含大约 20 个左右的系统功能。
系统功能组是围绕几个大的功能领域组织起来的,它们包括:
指挥、控制和通信。
武器控制。
系统内部通信和计算机环境接口的机制。
人机界面。

原创粉丝点击