码迷,mamicode.com
首页 > 其他好文 > 详细

面向消息的持久通信与面向流的通信简要总结

时间:2016-06-10 12:17:27      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

一、面向消息的持久通信  

消息队列系统为持久异步通信提供多种支持,本质是提供消息的中介存储能力,这样就不需要消息发送方和接收方在消息传输过程中都保持激活状态。

消息队列模型

  应用程序可以通过在特定队列中插入消息来进行通信。消息由一系列通信服务器依次进行转发,最终送达目的地。即使在消息发送过程中接收方的机器未处于运行状态,消息也能送到。

  消息队列系统的重要特征之一是,通常只能确保发送方发出的消息最终能插入到接收方的队列中,并不保证消息到达的时间,甚至不保证消息一定会得到读取,这完全由接收方来决定。

  技术分享

  消息转换器可以像一个消息格式重新编排工具一样简单。比如说,假定输入的小细胞含有数据库中的一张表,其中,记录之间通过特殊的代表记录结束的分隔符来分割,而记录中的字段长度已知且固定。如果目的应用程序希望使用另外的分隔符来分割记录,并且希望字段是可变长度,就需要使用消息转换器来讲消息格式转换为目的应用程序所能够接受的格式。

  普通消息队列系统的目标并不仅仅在于为最终用户提供支持,建立这样的系统要解决的重要问题是:要为进程间的持久通信提供支持,无论该进程是在运行用户程序,在处理对数据库的访问,还是在进行计算等,都必须能够支持其通信。 比如说:一个设计若干个数据库查询可能需要切分成为几个子查询,然后将这些子查询转发给相应的数据库。在这个过程中可以利用消息队列系统所提供的基本方法来讲每个子查询打包进消息中去,然后将消息发送给相应的数据库。

二、面向流的通信

  1、为连续媒体提供支持

  媒体是指传送信息的手段,其中包括存储以及传输介质。媒体的重要类型是信息的表示方式,也就是信息在计算机系统中的编码方式。比如文本一般是用ASCII或Unicode来进行编码。图像可以采用GIF或JPEG等格式来表示。而计算机中的音频流可以采用诸如PCM的16位样本来编码。

  2、数据流

  对于连续数据流来说,同步是极为关键的。为了捕捉同步状况,要对不同传输模式做出区分。在异步传输模式下,流中的数据项是逐个传输的,但是对于某一项在何时进行传输并没有进一步的限制。比如:文件可以作为数据流来传输,但是每一数据项传输完成的确于时间通常是无关紧要的。

  在同步传输模式下,数据流中的每一个单元都定义了一个端到端最大延迟时间。比如:传感器以某个特定的采样率对温度值进行采样,然后将采样结果通过网络传送给操作员。

  等待传输模式,在这种模式中数据单元必须按时传输,也就是数据传输的端到端延迟时间必须同时受到上限和下限的约束,端到端延迟时间上限和下限也称为边界延迟抖动。这种传输模式对分布式多媒体系统极为有用。

 

  一个简单的流只包含有单个数据序列,而一个复杂的流由若干相关的简单流----子流构成。一个复杂流的例子是关于影片传输的。这个流由单个视频流,以及两个用于以立体声方式传输电影中声音的音频流。第四个流用来传输自摸或者翻译成其他语言的文字。各子流间的同步依然是重要的。如果无法做到同步,就无法完整地复现影片。

技术分享

3、同步机制

  那么到底是如何做到同步的呢?包含两方面问题,(1)两个流同步的基本机制 (2)在网络环境下这些机制的分布式版本

  

面向消息的持久通信与面向流的通信简要总结

标签:

原文地址:http://www.cnblogs.com/yangsy0915/p/5573484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!